[cmor] 20/190: 2010-06-01 : table generation was sometimes gen same value for valid_min and valid_max, fixed 2010-06-01 : table generation using %.4g instead of %.2g for valid min/max 2010-06-01 : new tables to reflect that 2010-06-01 : updated examples to work with abs min/max from tables 2010-06-01 : edited example to have only 1 file to edit when tweaking the data generation in test fortran/C samples. 2010-06-01 : changed cmor_dataset to trim input arguments, revelant mostly for calendar that was declared as wrong if it had extra spaces 2010-06-01 : fixed error message formating for value less or greater than valid_min/max, now uses nice formatting %.4g instead of unreadable for big numbers: %lf

Alastair McKinstry mckinstry at moszumanska.debian.org
Tue Jul 21 12:54:27 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 bb7e95d2845dd2119952687c74e60270b13d857a
Author: Charles Doutriaux <doutriaux1 at llnl.gov>
Date:   Tue Jun 1 18:49:49 2010 -0700

    2010-06-01 : table generation was sometimes gen same value for valid_min and valid_max, fixed
    2010-06-01 : table generation using %.4g instead of %.2g for valid min/max
    2010-06-01 : new tables to reflect that
    2010-06-01 : updated examples to work with abs min/max from tables
    2010-06-01 : edited example to have only 1 file to edit when tweaking the data generation in test fortran/C samples.
    2010-06-01 : changed cmor_dataset to trim input arguments, revelant mostly for calendar that was declared as wrong if it had extra spaces
    2010-06-01 : fixed error message formating for value less or greater than valid_min/max, now uses nice formatting %.4g instead of unreadable for big numbers: %lf
---
 .gitignore                              |   1 +
 Lib/table_generator.py                  |  27 ++-
 RELEASE-NOTES                           |   6 +
 Src/cmor.c                              |   3 +-
 Src/cmor_fortran_interface.f90          |  38 ++--
 Src/cmor_variables.c                    |   8 +-
 Tables/CMIP5_3hr                        | 154 +++++++--------
 Tables/CMIP5_6hrLev                     |  42 ++--
 Tables/CMIP5_6hrPlev                    |  34 ++--
 Tables/CMIP5_Amon                       | 334 ++++++++++++++++----------------
 Tables/CMIP5_Limon                      |  36 ++--
 Tables/CMIP5_Lmon                       |  40 ++--
 Tables/CMIP5_Oclim                      |   2 +-
 Tables/CMIP5_Oimon                      |  16 +-
 Tables/CMIP5_Omon                       | 162 ++++++++--------
 Tables/CMIP5_Oyr                        |   2 +-
 Tables/CMIP5_aero                       |   2 +-
 Tables/CMIP5_cf3hr                      | 258 ++++++++++++------------
 Tables/CMIP5_cfDay                      | 214 ++++++++++----------
 Tables/CMIP5_cfMon                      |  24 +--
 Tables/CMIP5_cfOff                      |   2 +-
 Tables/CMIP5_cfSites                    | 310 ++++++++++++++---------------
 Tables/CMIP5_day                        | 268 ++++++++++++-------------
 Tables/CMIP5_fx                         |  26 +--
 Tables/md5s                             |   2 +-
 Test/ipcc_test_code.c                   |  68 +------
 Test/ipcc_test_code.f90                 |  78 +-------
 Test/karls_test.f90                     |  78 +-------
 Test/main_prog.f90                      |  59 +-----
 Test/reader_2D_3D.f90                   | 133 +++++++++++++
 Test/reader_2D_3D.h                     |  85 ++++++++
 Test/rewrite_harvardf_data.f90          |   2 +-
 Test/test1.f90                          |  59 +-----
 Test/test2.f90                          |  61 +-----
 Test/test3.f90                          |  65 +------
 Test/test4.f90                          |  80 ++------
 Test/test_3h.f90                        |  74 +------
 Test/test_dimensionless.f90             |  71 +------
 Test/test_fortran_example_00.f90        |  72 +------
 Test/test_fortran_example_01.f90        |  72 +------
 Test/test_grid.c                        |  65 +------
 Test/test_region.f90                    |  27 +--
 Test/test_shrt_exp_nm_set_att_initi.f90 |  31 +--
 Test/test_sigma.f90                     |  71 +------
 Test/test_singleton.f90                 |  73 +------
 Test/test_sophie.f90                    |  72 +------
 Test/test_station_data.f90              |  74 +------
 47 files changed, 1276 insertions(+), 2205 deletions(-)

diff --git a/.gitignore b/.gitignore
index 31972c5..76eb5e3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,4 @@ compile_line.txt
 config.status
 setup.py
 Tables_csv/standard_output.xls
+autom4te.cache
diff --git a/Lib/table_generator.py b/Lib/table_generator.py
index df38242..7733805 100644
--- a/Lib/table_generator.py
+++ b/Lib/table_generator.py
@@ -1,4 +1,4 @@
-import sys,time,os,genutil
+import sys,time,os,genutil,numpy
 
 
 prefix = "CMIP5"
@@ -225,7 +225,9 @@ def process_template(tmpl,cnames,cols,voids={},minmax={}):
                 val = min(mn['min'],val)
                 std +=mn['std']
             std/=len(mnmx.keys())
-            setattr(F,"valid min","%.2g" % (val-2*std))
+            if numpy.allclose(std,0.):
+                std=val*.005
+            setattr(F,"valid min","%.4g" % (val-2*std))
             keys.remove("valid min")
         if 'valid max' in keys:
         #ok let's see if we can figure this one out
@@ -237,8 +239,9 @@ def process_template(tmpl,cnames,cols,voids={},minmax={}):
                 val = max(mn['max'],val)
                 std +=mn['std']
             std/=len(mnmx.keys())
-            setattr(F,"valid max","%.2g" % (val+2*std))
-            ## print 'Setting valid max for %s to %.2g' % (ve,val)
+            if numpy.allclose(std,0.):
+                std=val*.005
+            setattr(F,"valid max","%.4g" % (val+2*std))
             keys.remove("valid max")
         if "mean absolute min" in keys:
             mnmx = minmax[ve]
@@ -249,7 +252,9 @@ def process_template(tmpl,cnames,cols,voids={},minmax={}):
                 val = min(aavg['min'],val)
                 std+=aavg['std']
             std/=len(mnmx.keys())
-            setattr(F,"mean absolute min","%.2g" % (val-2*std))
+            if numpy.allclose(std,0.):
+                std=val*.005
+            setattr(F,"mean absolute min","%.4g" % (val-2*std))
             keys.remove("mean absolute min")
         if "mean absolute max" in keys:
             mnmx = minmax[ve]
@@ -260,7 +265,9 @@ def process_template(tmpl,cnames,cols,voids={},minmax={}):
                 val = max(aavg['max'],val)
                 std+=aavg['std']
             std/=len(mnmx.keys())
-            setattr(F,"mean absolute max","%.2g" % (val+2*std))
+            if numpy.allclose(std,0.):
+                std=val*.005
+            setattr(F,"mean absolute max","%.4g" % (val+2*std))
             keys.remove("mean absolute max")
 
         ### Need to add lines for absolute mean min/max
@@ -461,6 +468,9 @@ def create_table(table_file, dims_file,minmax={}):
 
 if __name__== "__main__" :
     import extract_min_max
+    import pickle
+    f=open("Tables_csv/minmax.pickled")
+    minmax = pickle.load(f)
     if len(sys.argv)>2:
         dims_table = sys.argv[2]
     else:
@@ -468,7 +478,7 @@ if __name__== "__main__" :
 
     if len(sys.argv)>1:
         print sys.argv
-        create_table(sys.argv[1],dims_table)
+        create_table(sys.argv[1],dims_table,minmax=minmax)
     else:
         tables_nms = """
 Tables_csv/cfOff.csv    Tables_csv/Omon.csv     Tables_csv/Amon.csv
@@ -484,9 +494,6 @@ Tables_csv/cfSites.csv  Tables_csv/Oyr.csv      Tables_csv/6hrLev.csv
 ## Tables_csv/6hrPlev.csv  Tables_csv/cf3hr.csv    Tables_csv/llmon.csv    Tables_csv/omon.csv
 ## Tables_csv/aero.csv     Tables_csv/cfDa.csv     Tables_csv/da.csv       Tables_csv/lmon.csv     Tables_csv/oyr.csv
 ## """.split()
-        import pickle
-        f=open("Tables_csv/minmax.pickled")
-        minmax = pickle.load(f)
         for nm in tables_nms:
             print 'Processing:',nm
             create_table(nm,dims_table,minmax=minmax)
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 4b1628a..c3612ba 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,3 +1,9 @@
+2010-06-01 : table generation was sometimes gen same value for valid_min and valid_max, fixed
+2010-06-01 : table generation using %.4g instead of %.2g for valid min/max
+2010-06-01 : new tables to reflect that
+2010-06-01 : updated examples to work with abs min/max from tables
+2010-06-01 : edited example to have only 1 file to edit when tweaking the data generation in test fortran/C samples.
+2010-06-01 : fixed error message formating for value less or greater than valid_min/max, now uses nice formatting %.4g instead of unreadable for big numbers: %lf
 2010-05-28 : Tagging RC10
 2010-05-28 : cmor_checker now checks table md5s in file vs the one passed and vs our control online
 2010-05-28 : new tables that include the ok_min/max_mean_absolute value
diff --git a/Src/cmor.c b/Src/cmor.c
index 82e98d1..00905b2 100644
--- a/Src/cmor.c
+++ b/Src/cmor.c
@@ -1139,7 +1139,8 @@ int cmor_dataset(char *outpath,
   /* check if calendar is actually valid! */
   found=0;
   for (i=0;i<CMOR_N_VALID_CALS;i++) {
-    if (strcmp(calendar,CMOR_VALID_CALENDARS[i])==0) found=1;
+    strncpytrim(msg,calendar,CMOR_MAX_STRING);
+    if (strcmp(msg,CMOR_VALID_CALENDARS[i])==0) found=1;
   }
   if ((month_lengths!=NULL) || (leap_year!=0) || (leap_month!=0)) {
     /* user passed calendar definitions */
diff --git a/Src/cmor_fortran_interface.f90 b/Src/cmor_fortran_interface.f90
index dec8c6e..f6a8eea 100644
--- a/Src/cmor_fortran_interface.f90
+++ b/Src/cmor_fortran_interface.f90
@@ -5788,7 +5788,7 @@ contains
        axes_ids(i) = axis_ids(ndims-i+1)
     enddo
     
-    zfnm = zfactor_name//char(0)
+    zfnm = trim(zfactor_name)//char(0)
     if (present(units)) then
        unit = trim(units)//char(0)
     else 
@@ -7356,7 +7356,7 @@ contains
     endif
     
     if (present(interval)) then
-       interv = interval//char(0)
+       interv = trim(interval)//char(0)
     else
        interv = char(0)
     endif
@@ -7391,7 +7391,7 @@ contains
        bnds(2*i-1) = cell_bounds(1,i)
        bnds(2*i) = cell_bounds(2,i)
     enddo
-    ierr = cmor_axis_cff_int(axis_id,table_entry//char(0),trim(units)//char(0),l,&
+    ierr = cmor_axis_cff_int(axis_id,trim(table_entry)//char(0),trim(units)//char(0),l,&
          coord_vals(1),bnds(1),2,interv)
     deallocate(bnds)
     if (ierr.eq.0) then 
@@ -7736,66 +7736,66 @@ contains
        lm =0
     endif
     if (present(contact)) then
-       cntct = contact//char(0)
+       cntct = trim(contact)//char(0)
     else
        cntct = char(0)
     endif
     if (present(history)) then
-       hist = history//char(0)
+       hist = trim(history)//char(0)
     else
        hist = char(0)
     endif
     if (present(comment)) then
-       comt = comment//char(0)
+       comt = trim(comment)//char(0)
     else
        comt = char(0)
     endif
     if (present(references)) then
-       ref = references//char(0)
+       ref = trim(references)//char(0)
     else
        ref = char(0)
     endif
     if (present(model_id)) then
-       mnm = model_id//char(0)
+       mnm = trim(model_id)//char(0)
     else
        mnm  = char(0)
     endif
     if (present(forcing)) then
-       fnm = forcing//char(0)
+       fnm = trim(forcing)//char(0)
     else
        fnm  = char(0)
     endif
     if (present(institute_id)) then
-       instid = institute_id//char(0)
+       instid = trim(institute_id)//char(0)
     else
        instid= char(0)
     endif
     if (present(parent_experiment_id)) then
-       peid = parent_experiment_id//char(0)
+       peid = trim(parent_experiment_id)//char(0)
     else
        peid= char(0)
     endif
     if (present(month_lengths)) then
        if (present(branch_time)) then
-          ierr = cmor_dataset_cff(outpath//char(0),experiment_id//char(0),&
-               institution//char(0),source//char(0),calendar//char(0),r,&
+          ierr = cmor_dataset_cff(trim(outpath)//char(0),trim(experiment_id)//char(0),&
+               trim(institution)//char(0),trim(source)//char(0),trim(calendar)//char(0),r,&
                cntct,hist,comt,ref,&
                ly,lm,month_lengths(1),mnm,fnm,im,pv,instid,peid,branch_time)
        else
-          ierr = cmor_dataset_cff_nobrch(outpath//char(0),experiment_id//char(0),&
-               institution//char(0),source//char(0),calendar//char(0),r,&
+          ierr = cmor_dataset_cff_nobrch(trim(outpath)//char(0),trim(experiment_id)//char(0),&
+               trim(institution)//char(0),trim(source)//char(0),trim(calendar)//char(0),r,&
                cntct,hist,comt,ref,&
                ly,lm,month_lengths(1),mnm,fnm,im,pv,instid,peid)
        endif
     else
        if (present(branch_time)) then
-          ierr = cmor_dataset_cff_null(outpath//char(0),experiment_id//char(0),&
-               institution//char(0),source//char(0),calendar//char(0),r,&
+          ierr = cmor_dataset_cff_null(trim(outpath)//char(0),trim(experiment_id)//char(0),&
+               trim(institution)//char(0),trim(source)//char(0),trim(calendar)//char(0),r,&
                cntct,hist,comt,ref,&
                ly,lm,mnm,fnm,im,pv,instid,peid,branch_time)
        else
-          ierr = cmor_dataset_cff_null_nobrch(outpath//char(0),experiment_id//char(0),&
-               institution//char(0),source//char(0),calendar//char(0),r,&
+          ierr = cmor_dataset_cff_null_nobrch(trim(outpath)//char(0),trim(experiment_id)//char(0),&
+               trim(institution)//char(0),trim(source)//char(0),trim(calendar)//char(0),r,&
                cntct,hist,comt,ref,&
                ly,lm,mnm,fnm,im,pv,instid,peid)
        endif
diff --git a/Src/cmor_variables.c b/Src/cmor_variables.c
index 65baef9..1a3e1d5 100644
--- a/Src/cmor_variables.c
+++ b/Src/cmor_variables.c
@@ -1378,7 +1378,7 @@ int cmor_write_var_to_file(int ncid,cmor_var_t *avar,void *data,char itype, int
       if ((avar->valid_min!=(float)1.e20) && (tmp<avar->valid_min)) {
 	n_lower_min+=1;
 	if (n_lower_min==1) { /*first time */
-	  snprintf(msg_min,CMOR_MAX_STRING, "Invalid value(s) detected for variable '%s': %%i values were lower than minimum valid value (%lf). First encountered bad value (%lf) was at indices:" , avar->id, avar->valid_min,tmp);
+	  snprintf(msg_min,CMOR_MAX_STRING, "Invalid value(s) detected for variable '%s': %%i values were lower than minimum valid value (%.4g). First encountered bad value (%.5g) was at indices:" , avar->id, avar->valid_min,tmp);
 	  for (j=0;j<avar->ndims;j++) {
 	    snprintf(msg2, CMOR_MAX_STRING, " %s: %i" , cmor_axes[avar->axes_ids[j]].id,counter2[j]);
 	    strncat(msg_min,msg2,CMOR_MAX_STRING-strlen(msg));
@@ -1388,7 +1388,7 @@ int cmor_write_var_to_file(int ncid,cmor_var_t *avar,void *data,char itype, int
       if ((avar->valid_max!=(float)1.e20) && (tmp>avar->valid_max)) {
 	n_greater_max+=1;
 	if (n_greater_max==1) {
-	  snprintf(msg_max,CMOR_MAX_STRING, "Invalid value(s) detected for variable '%s': %%i values were greater than maximum valid value (%lf). First encountered bad value (%lf) is at indices:" , avar->id, avar->valid_max,tmp);
+	  snprintf(msg_max,CMOR_MAX_STRING, "Invalid value(s) detected for variable '%s': %%i values were greater than maximum valid value (%.4g). First encountered bad value (%.5g) is at indices:" , avar->id, avar->valid_max,tmp);
 	  for (j=0;j<avar->ndims;j++) {
 	    snprintf(msg2, CMOR_MAX_STRING, " %s: %i" , cmor_axes[avar->axes_ids[j]].id,counter2[j]);
 	    strncat(msg_max,msg2,CMOR_MAX_STRING-strlen(msg));
@@ -1412,11 +1412,11 @@ int cmor_write_var_to_file(int ncid,cmor_var_t *avar,void *data,char itype, int
     cmor_handle_error(msg,CMOR_NORMAL);
   }
   if ((avar->ok_min_mean_abs!=(float)1.e20) && (amean/nelts<avar->ok_min_mean_abs)) {
-    snprintf(msg,CMOR_MAX_STRING, "Invalid Absolute Mean for variable '%s' (%lf) is lower than minimum allowed: %lf" , avar->id, amean/nelts, avar->ok_min_mean_abs);
+    snprintf(msg,CMOR_MAX_STRING, "Invalid Absolute Mean for variable '%s' (%.5g) is lower than minimum allowed: %.4g" , avar->id, amean/nelts, avar->ok_min_mean_abs);
     cmor_handle_error(msg,CMOR_CRITICAL);
   }
   if ((avar->ok_max_mean_abs!=(float)1.e20) && (amean/nelts>avar->ok_max_mean_abs)) {
-    snprintf(msg,CMOR_MAX_STRING, "Invalid Absolute Mean for variable '%s' (%lf) is greater than maximum allowed: %lf" , avar->id, amean/nelts, avar->ok_max_mean_abs);
+    snprintf(msg,CMOR_MAX_STRING, "Invalid Absolute Mean for variable '%s' (%.5g) is greater than maximum allowed: %.4g" , avar->id, amean/nelts, avar->ok_max_mean_abs);
     cmor_handle_error(msg,CMOR_CRITICAL);
   }
   if (dounits==1) {
diff --git a/Tables/CMIP5_3hr b/Tables/CMIP5_3hr
index d5ca944..038580f 100644
--- a/Tables/CMIP5_3hr
+++ b/Tables/CMIP5_3hr
@@ -6,7 +6,7 @@ frequency: 3hr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -232,10 +232,10 @@ comment:           at surface; includes both liquid and solid phases.  This is t
 dimensions:        longitude latitude time
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -258,10 +258,10 @@ comment:           near-surface (usually, 2 meter) air temperature, sampled syno
 dimensions:        longitude latitude time1 height2m
 out_name:          tas
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         184.6
+valid_max:         323.6
+ok_min_mean_abs:   274.4
+ok_max_mean_abs:   280.8
 !----------------------------------
 !
 
@@ -285,10 +285,10 @@ dimensions:        longitude latitude time
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -312,10 +312,10 @@ dimensions:        longitude latitude time
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -339,10 +339,10 @@ dimensions:        longitude latitude time
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -366,10 +366,10 @@ dimensions:        longitude latitude time
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -393,10 +393,10 @@ dimensions:        longitude latitude time
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -420,10 +420,10 @@ dimensions:        longitude latitude time
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -446,10 +446,10 @@ comment:           sampled synoptically.
 dimensions:        longitude latitude time1 height2m
 out_name:          uas
 type:              real
-valid_min:         -18
-valid_max:         18
-ok_min_mean_abs:   1.9
-ok_max_mean_abs:   3.8
+valid_min:         -17.76
+valid_max:         17.68
+ok_min_mean_abs:   1.927
+ok_max_mean_abs:   3.847
 !----------------------------------
 !
 
@@ -472,10 +472,10 @@ comment:           sampled synoptically.
 dimensions:        longitude latitude time1 height2m
 out_name:          vas
 type:              real
-valid_min:         -17
-valid_max:         21
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   2.5
+valid_min:         -16.93
+valid_max:         20.82
+ok_min_mean_abs:   1.239
+ok_max_mean_abs:   2.505
 !----------------------------------
 !
 
@@ -498,10 +498,10 @@ comment:           near-surface (usually 2 m) specific humidity, sampled synopti
 dimensions:        longitude latitude time1 height2m
 out_name:          huss
 type:              real
-valid_min:         -4.8e-06
-valid_max:         0.029
-ok_min_mean_abs:   0.0067
-ok_max_mean_abs:   0.0085
+valid_min:         -4.806e-06
+valid_max:         0.0287
+ok_min_mean_abs:   0.006655
+ok_max_mean_abs:   0.008485
 !----------------------------------
 !
 
@@ -524,10 +524,10 @@ comment:           Compute the mass of water in all phases in the upper 0.1 mete
 dimensions:        longitude latitude time1
 out_name:          mrsos
 type:              real
-valid_min:         -1.3
-valid_max:         1.3e+02
-ok_min_mean_abs:   -19
-ok_max_mean_abs:   1.1e+02
+valid_min:         -1.339
+valid_max:         128.2
+ok_min_mean_abs:   -18.67
+ok_max_mean_abs:   106.1
 !----------------------------------
 !
 
@@ -594,10 +594,10 @@ comment:           at surface.  This is a 3-hour mean convective precipitation f
 dimensions:        longitude latitude time
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -620,10 +620,10 @@ comment:           at surface.  Includes all forms of precipitating solid phase
 dimensions:        longitude latitude time
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -646,10 +646,10 @@ comment:           compute the total runoff (including ""drainage"" through the
 dimensions:        longitude latitude time
 out_name:          mrro
 type:              real
-valid_min:         -0.00017
-valid_max:         0.00093
-ok_min_mean_abs:   -3.8e-06
-ok_max_mean_abs:   1.6e-05
+valid_min:         -0.0001729
+valid_max:         0.0009312
+ok_min_mean_abs:   -3.818e-06
+ok_max_mean_abs:   1.589e-05
 !----------------------------------
 !
 
@@ -673,10 +673,10 @@ dimensions:        longitude latitude time
 out_name:          rldscs
 type:              real
 positive:          down
-valid_min:         37
-valid_max:         5.3e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         36.67
+valid_max:         525.2
+ok_min_mean_abs:   244.2
+ok_max_mean_abs:   288.2
 !----------------------------------
 !
 
@@ -700,10 +700,10 @@ dimensions:        longitude latitude time
 out_name:          rsdscs
 type:              real
 positive:          down
-valid_min:         -1.5e+30
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.1e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         -1.499e+30
+valid_max:         511.1
+ok_min_mean_abs:   210.5
+ok_max_mean_abs:   234.9
 !----------------------------------
 !
 
@@ -749,10 +749,10 @@ comment:           sampled synoptically to diagnose atmospheric tides, this is b
 dimensions:        longitude latitude time1
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
@@ -775,10 +775,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_6hrLev b/Tables/CMIP5_6hrLev
index ba9ec51..4aa8d24 100644
--- a/Tables/CMIP5_6hrLev
+++ b/Tables/CMIP5_6hrLev
@@ -6,7 +6,7 @@ frequency: 6hr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -519,10 +519,10 @@ comment:           on all model levels
 dimensions:        longitude latitude alevel time1
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -544,10 +544,10 @@ comment:           on all model levels
 dimensions:        longitude latitude alevel time1
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -569,10 +569,10 @@ comment:           on all model levels
 dimensions:        longitude latitude alevel time1
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -594,10 +594,10 @@ comment:           on all model levels
 dimensions:        longitude latitude alevel time1
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -619,10 +619,10 @@ comment:           surface pressure, not mean sea level pressure
 dimensions:        longitude latitude time1
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_6hrPlev b/Tables/CMIP5_6hrPlev
index 07a8beb..f5074fc 100644
--- a/Tables/CMIP5_6hrPlev
+++ b/Tables/CMIP5_6hrPlev
@@ -6,7 +6,7 @@ frequency: 6hr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -185,10 +185,10 @@ comment:           on the following pressure levels: 850, 500, 250 hPa
 dimensions:        longitude latitude plev3 time1
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -210,10 +210,10 @@ comment:           on the following pressure levels: 850, 500, 250 hPa
 dimensions:        longitude latitude plev3 time1
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -235,10 +235,10 @@ comment:           on the following pressure levels: 850, 500, 250 hPa
 dimensions:        longitude latitude plev3 time1
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -259,10 +259,10 @@ long_name:         Sea Level Pressure
 dimensions:        longitude latitude time1
 out_name:          psl
 type:              real
-valid_min:         9.5e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   1e+05
-ok_max_mean_abs:   1e+05
+valid_min:         9.519e+04
+valid_max:         1.11e+05
+ok_min_mean_abs:   1.004e+05
+ok_max_mean_abs:   1.016e+05
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Amon b/Tables/CMIP5_Amon
index 55551b5..2e40c3b 100644
--- a/Tables/CMIP5_Amon
+++ b/Tables/CMIP5_Amon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -637,10 +637,10 @@ comment:           near-surface (usually, 2 meter) air temperature.
 dimensions:        longitude latitude time height2m
 out_name:          tas
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         184.6
+valid_max:         323.6
+ok_min_mean_abs:   274.4
+ok_max_mean_abs:   280.8
 !----------------------------------
 !
 
@@ -663,10 +663,10 @@ comment:           ""skin"" temperature (i.e., SST for open ocean)
 dimensions:        longitude latitude time
 out_name:          ts
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.3e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         180.6
+valid_max:         329
+ok_min_mean_abs:   275
+ok_max_mean_abs:   281
 !----------------------------------
 !
 
@@ -689,10 +689,10 @@ comment:           monthly mean of the daily-minimum near-surface (usually, 2 me
 dimensions:        longitude latitude time height2m
 out_name:          tasmin
 type:              real
-valid_min:         1.9e+02
-valid_max:         3.1e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         186.6
+valid_max:         309.1
+ok_min_mean_abs:   272.8
+ok_max_mean_abs:   278.7
 !----------------------------------
 !
 
@@ -715,10 +715,10 @@ comment:           monthly mean of the daily-maximum near-surface (usually, 2 me
 dimensions:        longitude latitude time height2m
 out_name:          tasmax
 type:              real
-valid_min:         1.9e+02
-valid_max:         3.3e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         186.4
+valid_max:         328.9
+ok_min_mean_abs:   277.8
+ok_max_mean_abs:   280.9
 !----------------------------------
 !
 
@@ -741,10 +741,10 @@ comment:           not, in general, the same as surface pressure
 dimensions:        longitude latitude time
 out_name:          psl
 type:              real
-valid_min:         9.5e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   1e+05
-ok_max_mean_abs:   1e+05
+valid_min:         9.519e+04
+valid_max:         1.11e+05
+ok_min_mean_abs:   1.004e+05
+ok_max_mean_abs:   1.016e+05
 !----------------------------------
 !
 
@@ -767,10 +767,10 @@ comment:           not, in general, the same as mean sea-level pressure
 dimensions:        longitude latitude time
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
@@ -793,10 +793,10 @@ comment:           near-surface (usually, 10 meters) eastward component of wind.
 dimensions:        longitude latitude time height10m
 out_name:          uas
 type:              real
-valid_min:         -18
-valid_max:         18
-ok_min_mean_abs:   1.9
-ok_max_mean_abs:   3.8
+valid_min:         -17.76
+valid_max:         17.68
+ok_min_mean_abs:   1.927
+ok_max_mean_abs:   3.847
 !----------------------------------
 !
 
@@ -819,10 +819,10 @@ comment:           near-surface (usually, 10 meters) northward component of wind
 dimensions:        longitude latitude time height10m
 out_name:          vas
 type:              real
-valid_min:         -17
-valid_max:         21
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   2.5
+valid_min:         -16.93
+valid_max:         20.82
+ok_min_mean_abs:   1.239
+ok_max_mean_abs:   2.505
 !----------------------------------
 !
 
@@ -889,10 +889,10 @@ comment:           near-surface (usually, 2 meters) specific humidity.
 dimensions:        longitude latitude time height2m
 out_name:          huss
 type:              real
-valid_min:         -4.8e-06
-valid_max:         0.029
-ok_min_mean_abs:   0.0067
-ok_max_mean_abs:   0.0085
+valid_min:         -4.806e-06
+valid_max:         0.0287
+ok_min_mean_abs:   0.006655
+ok_max_mean_abs:   0.008485
 !----------------------------------
 !
 
@@ -915,10 +915,10 @@ comment:           at surface; includes both liquid and solid phases from all ty
 dimensions:        longitude latitude time
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -941,10 +941,10 @@ comment:           at surface; includes precipitation of all forms of water in t
 dimensions:        longitude latitude time
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -967,10 +967,10 @@ comment:           at surface; includes both liquid and solid phases.
 dimensions:        longitude latitude time
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -1015,10 +1015,10 @@ comment:           The snow and ice sublimation flux is the loss of snow and ice
 dimensions:        longitude latitude time
 out_name:          sbl
 type:              real
-valid_min:         -0.004
-valid_max:         0.00083
-ok_min_mean_abs:   -3.6e-05
-ok_max_mean_abs:   7.7e-05
+valid_min:         -0.003967
+valid_max:         0.0008264
+ok_min_mean_abs:   -3.63e-05
+ok_max_mean_abs:   7.718e-05
 !----------------------------------
 !
 
@@ -1041,10 +1041,10 @@ dimensions:        longitude latitude time
 out_name:          tauu
 type:              real
 positive:          down
-valid_min:         -2.4
-valid_max:         2.6
-ok_min_mean_abs:   0.047
-ok_max_mean_abs:   0.099
+valid_min:         -2.415
+valid_max:         2.576
+ok_min_mean_abs:   0.04688
+ok_max_mean_abs:   0.09945
 !----------------------------------
 !
 
@@ -1067,10 +1067,10 @@ dimensions:        longitude latitude time
 out_name:          tauv
 type:              real
 positive:          down
-valid_min:         -2.2
-valid_max:         2.2
-ok_min_mean_abs:   0.022
-ok_max_mean_abs:   0.074
+valid_min:         -2.163
+valid_max:         2.24
+ok_min_mean_abs:   0.0215
+ok_max_mean_abs:   0.0743
 !----------------------------------
 !
 
@@ -1094,10 +1094,10 @@ dimensions:        longitude latitude time
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -1120,10 +1120,10 @@ dimensions:        longitude latitude time
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -1146,10 +1146,10 @@ dimensions:        longitude latitude time
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -1172,10 +1172,10 @@ dimensions:        longitude latitude time
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -1198,10 +1198,10 @@ dimensions:        longitude latitude time
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -1224,10 +1224,10 @@ dimensions:        longitude latitude time
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -1250,10 +1250,10 @@ dimensions:        longitude latitude time
 out_name:          rsdscs
 type:              real
 positive:          down
-valid_min:         -1.5e+30
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.1e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         -1.499e+30
+valid_max:         511.1
+ok_min_mean_abs:   210.5
+ok_max_mean_abs:   234.9
 !----------------------------------
 !
 
@@ -1276,10 +1276,10 @@ dimensions:        longitude latitude time
 out_name:          rsuscs
 type:              real
 positive:          up
-valid_min:         -0.012
-valid_max:         4.5e+02
-ok_min_mean_abs:   35
-ok_max_mean_abs:   58
+valid_min:         -0.01239
+valid_max:         449.6
+ok_min_mean_abs:   34.89
+ok_max_mean_abs:   58.35
 !----------------------------------
 !
 
@@ -1302,10 +1302,10 @@ dimensions:        longitude latitude time
 out_name:          rldscs
 type:              real
 positive:          down
-valid_min:         37
-valid_max:         5.3e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         36.67
+valid_max:         525.2
+ok_min_mean_abs:   244.2
+ok_max_mean_abs:   288.2
 !----------------------------------
 !
 
@@ -1330,9 +1330,9 @@ out_name:          rsdt
 type:              real
 positive:          down
 valid_min:         0
-valid_max:         5.5e+02
-ok_min_mean_abs:   3e+02
-ok_max_mean_abs:   3e+02
+valid_max:         554.6
+ok_min_mean_abs:   295.4
+ok_max_mean_abs:   302.8
 !----------------------------------
 !
 
@@ -1356,10 +1356,10 @@ dimensions:        longitude latitude time
 out_name:          rsut
 type:              real
 positive:          up
-valid_min:         -0.023
-valid_max:         4.1e+02
-ok_min_mean_abs:   99
-ok_max_mean_abs:   1.1e+02
+valid_min:         -0.02332
+valid_max:         411.9
+ok_min_mean_abs:   98.59
+ok_max_mean_abs:   112.2
 !----------------------------------
 !
 
@@ -1383,10 +1383,10 @@ dimensions:        longitude latitude time
 out_name:          rlut
 type:              real
 positive:          up
-valid_min:         73
-valid_max:         3.8e+02
-ok_min_mean_abs:   2.2e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         73.04
+valid_max:         376.2
+ok_min_mean_abs:   215.5
+ok_max_mean_abs:   226.1
 !----------------------------------
 !
 
@@ -1409,10 +1409,10 @@ dimensions:        longitude latitude time
 out_name:          rlutcs
 type:              real
 positive:          up
-valid_min:         75
-valid_max:         3.7e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.5e+02
+valid_min:         74.96
+valid_max:         368.1
+ok_min_mean_abs:   237.1
+ok_max_mean_abs:   251.8
 !----------------------------------
 !
 
@@ -1436,9 +1436,9 @@ out_name:          rsutcs
 type:              real
 positive:          up
 valid_min:         0
-valid_max:         4.3e+02
-ok_min_mean_abs:   57
-ok_max_mean_abs:   71
+valid_max:         434.2
+ok_min_mean_abs:   56.72
+ok_max_mean_abs:   71.33
 !----------------------------------
 !
 
@@ -1461,9 +1461,9 @@ comment:           vertically integrated through the atmospheric column
 dimensions:        longitude latitude time
 out_name:          prw
 type:              real
-valid_min:         0.012
-valid_max:         75
-ok_min_mean_abs:   14
+valid_min:         0.01199
+valid_max:         75.33
+ok_min_mean_abs:   13.84
 ok_max_mean_abs:   22
 !----------------------------------
 !
@@ -1487,10 +1487,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
@@ -1513,10 +1513,10 @@ comment:           calculate mass of condensed (liquid + ice) water in the colum
 dimensions:        longitude latitude time
 out_name:          clwvi
 type:              real
-valid_min:         -2.6e-06
-valid_max:         2.9
-ok_min_mean_abs:   -0.0028
-ok_max_mean_abs:   0.25
+valid_min:         -2.551e-06
+valid_max:         2.95
+ok_min_mean_abs:   -0.002773
+ok_max_mean_abs:   0.2519
 !----------------------------------
 !
 
@@ -1539,10 +1539,10 @@ comment:           calculate mass of ice water in the column divided by the area
 dimensions:        longitude latitude time
 out_name:          clivi
 type:              real
-valid_min:         -1.2e-06
+valid_min:         -1.248e-06
 valid_max:         1.3
-ok_min_mean_abs:   -0.019
-ok_max_mean_abs:   0.1
+ok_min_mean_abs:   -0.01934
+ok_max_mean_abs:   0.1033
 !----------------------------------
 !
 
@@ -1566,10 +1566,10 @@ dimensions:        longitude latitude time
 out_name:          rtmt
 type:              real
 positive:          down
-valid_min:         -2.3e+02
-valid_max:         2.1e+02
-ok_min_mean_abs:   79
-ok_max_mean_abs:   87
+valid_min:         -227.4
+valid_max:         211.7
+ok_min_mean_abs:   78.74
+ok_max_mean_abs:   87.22
 !----------------------------------
 !
 
@@ -1743,9 +1743,9 @@ dimensions:        longitude latitude alevel time
 out_name:          cl
 type:              real
 valid_min:         0
-valid_max:         1e+02
-ok_min_mean_abs:   -0.03
-ok_max_mean_abs:   25
+valid_max:         100.1
+ok_min_mean_abs:   -0.02986
+ok_max_mean_abs:   24.86
 !----------------------------------
 !
 
@@ -1834,10 +1834,10 @@ long_name:         Air Temperature
 dimensions:        longitude latitude plevs time
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -1859,10 +1859,10 @@ long_name:         Eastward Wind
 dimensions:        longitude latitude plevs time
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -1884,10 +1884,10 @@ long_name:         Northward Wind
 dimensions:        longitude latitude plevs time
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -1909,10 +1909,10 @@ long_name:         Specific Humidity
 dimensions:        longitude latitude plevs time
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -1935,10 +1935,10 @@ comment:           This is the relative humidity with respect to liquid water fo
 dimensions:        longitude latitude plevs time
 out_name:          hur
 type:              real
-valid_min:         -1.8
-valid_max:         1.3e+02
-ok_min_mean_abs:   -6.8
-ok_max_mean_abs:   94
+valid_min:         -1.762
+valid_max:         126.1
+ok_min_mean_abs:   -6.834
+ok_max_mean_abs:   93.53
 !----------------------------------
 !
 
@@ -1961,10 +1961,10 @@ comment:           commonly referred to as ""omega"", this represents the vertic
 dimensions:        longitude latitude plevs time
 out_name:          wap
 type:              real
-valid_min:         -1.1
+valid_min:         -1.055
 valid_max:         2.2
-ok_min_mean_abs:   -0.0033
-ok_max_mean_abs:   0.041
+ok_min_mean_abs:   -0.003335
+ok_max_mean_abs:   0.04081
 !----------------------------------
 !
 
@@ -1986,10 +1986,10 @@ long_name:         Geopotential Height
 dimensions:        longitude latitude plevs time
 out_name:          zg
 type:              real
-valid_min:         -5.7e+02
-valid_max:         3.3e+04
-ok_min_mean_abs:   -40
-ok_max_mean_abs:   3.2e+04
+valid_min:         -574.3
+valid_max:         3.295e+04
+ok_min_mean_abs:   -39.68
+ok_max_mean_abs:   3.157e+04
 !----------------------------------
 !
 
@@ -2012,10 +2012,10 @@ comment:           If this does not change over time (except possibly to vary id
 dimensions:        longitude latitude plevs time
 out_name:          tro3
 type:              real
-valid_min:         -2.8e+02
-valid_max:         1.1e+04
-ok_min_mean_abs:   -94
-ok_max_mean_abs:   7.3e+03
+valid_min:         -279.5
+valid_max:         1.143e+04
+ok_min_mean_abs:   -94.21
+ok_max_mean_abs:   7308
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Limon b/Tables/CMIP5_Limon
index 22a9b36..ee9fe52 100644
--- a/Tables/CMIP5_Limon
+++ b/Tables/CMIP5_Limon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -186,9 +186,9 @@ dimensions:        longitude latitude time
 out_name:          snc
 type:              real
 valid_min:         0
-valid_max:         1e+02
-ok_min_mean_abs:   -18
-ok_max_mean_abs:   67
+valid_max:         101.4
+ok_min_mean_abs:   -17.63
+ok_max_mean_abs:   67.08
 !----------------------------------
 !
 
@@ -211,10 +211,10 @@ comment:           Compute as the mass of surface snow on the land portion of th
 dimensions:        longitude latitude time
 out_name:          snw
 type:              real
-valid_min:         -0.005
-valid_max:         8e+05
-ok_min_mean_abs:   -4e+03
-ok_max_mean_abs:   1e+04
+valid_min:         -0.005028
+valid_max:         7.952e+05
+ok_min_mean_abs:   -4012
+ok_max_mean_abs:   1.012e+04
 !----------------------------------
 !
 
@@ -238,9 +238,9 @@ dimensions:        longitude latitude time
 out_name:          snd
 type:              real
 valid_min:         0
-valid_max:         8.1e+02
-ok_min_mean_abs:   -1.3
-ok_max_mean_abs:   3.8
+valid_max:         815
+ok_min_mean_abs:   -1.272
+ok_max_mean_abs:   3.814
 !----------------------------------
 !
 
@@ -351,9 +351,9 @@ dimensions:        longitude latitude time
 out_name:          snm
 type:              real
 valid_min:         0
-valid_max:         0.00036
-ok_min_mean_abs:   -1.1e-06
-ok_max_mean_abs:   5.2e-06
+valid_max:         0.0003599
+ok_min_mean_abs:   -1.131e-06
+ok_max_mean_abs:   5.162e-06
 !----------------------------------
 !
 
@@ -376,10 +376,10 @@ comment:           The snow and ice sublimation flux is the loss of snow and ice
 dimensions:        longitude latitude time
 out_name:          sbl
 type:              real
-valid_min:         -0.004
-valid_max:         0.00083
-ok_min_mean_abs:   -3.6e-05
-ok_max_mean_abs:   7.7e-05
+valid_min:         -0.003967
+valid_max:         0.0008264
+ok_min_mean_abs:   -3.63e-05
+ok_max_mean_abs:   7.718e-05
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Lmon b/Tables/CMIP5_Lmon
index 4d53a20..e0e9038 100644
--- a/Tables/CMIP5_Lmon
+++ b/Tables/CMIP5_Lmon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -230,10 +230,10 @@ comment:           Compute the mass of water in all phases in the upper 0.1 mete
 dimensions:        longitude latitude time sdepth1
 out_name:          mrsos
 type:              real
-valid_min:         -1.3
-valid_max:         1.3e+02
-ok_min_mean_abs:   -19
-ok_max_mean_abs:   1.1e+02
+valid_min:         -1.339
+valid_max:         128.2
+ok_min_mean_abs:   -18.67
+ok_max_mean_abs:   106.1
 !----------------------------------
 !
 
@@ -256,10 +256,10 @@ comment:           Compute the mass per unit area  (summed over all soil layers)
 dimensions:        longitude latitude time
 out_name:          mrso
 type:              real
-valid_min:         -44
-valid_max:         5e+03
-ok_min_mean_abs:   -9.4e+02
-ok_max_mean_abs:   2.5e+03
+valid_min:         -44.32
+valid_max:         4956
+ok_min_mean_abs:   -935.4
+ok_max_mean_abs:   2549
 !----------------------------------
 !
 
@@ -283,9 +283,9 @@ dimensions:        longitude latitude time
 out_name:          mrfso
 type:              real
 valid_min:         0
-valid_max:         5e+03
-ok_min_mean_abs:   -2.7e+02
-ok_max_mean_abs:   7.9e+02
+valid_max:         4986
+ok_min_mean_abs:   -272.7
+ok_max_mean_abs:   793.9
 !----------------------------------
 !
 
@@ -308,10 +308,10 @@ comment:           Compute the total surface runoff leaving the land portion of
 dimensions:        longitude latitude time
 out_name:          mrros
 type:              real
-valid_min:         -5.9e-06
-valid_max:         0.00086
-ok_min_mean_abs:   -3.8e-06
-ok_max_mean_abs:   1.1e-05
+valid_min:         -5.864e-06
+valid_max:         0.0008576
+ok_min_mean_abs:   -3.831e-06
+ok_max_mean_abs:   1.098e-05
 !----------------------------------
 !
 
@@ -334,10 +334,10 @@ comment:           "compute the total runoff (including ""drainage"" through the
 dimensions:        longitude latitude time
 out_name:          mrro
 type:              real
-valid_min:         -0.00017
-valid_max:         0.00093
-ok_min_mean_abs:   -3.8e-06
-ok_max_mean_abs:   1.6e-05
+valid_min:         -0.0001729
+valid_max:         0.0009312
+ok_min_mean_abs:   -3.818e-06
+ok_max_mean_abs:   1.589e-05
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Oclim b/Tables/CMIP5_Oclim
index bc6ed86..fdcb383 100644
--- a/Tables/CMIP5_Oclim
+++ b/Tables/CMIP5_Oclim
@@ -6,7 +6,7 @@ frequency: monClim
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
diff --git a/Tables/CMIP5_Oimon b/Tables/CMIP5_Oimon
index 9beb5be..649fa1e 100644
--- a/Tables/CMIP5_Oimon
+++ b/Tables/CMIP5_Oimon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -162,9 +162,9 @@ dimensions:        longitude latitude time
 out_name:          sic
 type:              real
 valid_min:         -0.00015
-valid_max:         1.4e+02
-ok_min_mean_abs:   -8.8
-ok_max_mean_abs:   32
+valid_max:         144.1
+ok_min_mean_abs:   -8.827
+ok_max_mean_abs:   32.15
 !----------------------------------
 !
 
@@ -187,10 +187,10 @@ comment:           Compute the mean thickness of sea ice in the ocean portion of
 dimensions:        longitude latitude time
 out_name:          sit
 type:              real
-valid_min:         -0.0045
-valid_max:         91
-ok_min_mean_abs:   -0.56
-ok_max_mean_abs:   2.2
+valid_min:         -0.004466
+valid_max:         90.6
+ok_min_mean_abs:   -0.5643
+ok_max_mean_abs:   2.225
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Omon b/Tables/CMIP5_Omon
index 2c96045..c3c1f86 100644
--- a/Tables/CMIP5_Omon
+++ b/Tables/CMIP5_Omon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -2709,10 +2709,10 @@ long_name:         Sea Surface Height Above Geoid
 dimensions:        longitude latitude time
 out_name:          zos
 type:              real
-valid_min:         -12
-valid_max:         8.3
-ok_min_mean_abs:   0.17
-ok_max_mean_abs:   1.4
+valid_min:         -12.17
+valid_max:         8.338
+ok_min_mean_abs:   0.1651
+ok_max_mean_abs:   1.416
 !----------------------------------
 !
 
@@ -2754,10 +2754,10 @@ long_name:         Global Average Sea Level Change
 dimensions:        time
 out_name:          zosga
 type:              real
-valid_min:         -0.095
-valid_max:         0.33
-ok_min_mean_abs:   -0.039
-ok_max_mean_abs:   0.28
+valid_min:         -0.09497
+valid_max:         0.334
+ok_min_mean_abs:   -0.03944
+ok_max_mean_abs:   0.2786
 !----------------------------------
 !
 
@@ -2798,10 +2798,10 @@ long_name:         Global Average Thermosteric Sea Level Change
 dimensions:        time
 out_name:          zostoga
 type:              real
-valid_min:         -0.092
-valid_max:         0.32
-ok_min_mean_abs:   -0.0095
-ok_max_mean_abs:   0.26
+valid_min:         -0.0917
+valid_max:         0.3209
+ok_min_mean_abs:   -0.009455
+ok_max_mean_abs:   0.2581
 !----------------------------------
 !
 
@@ -2865,10 +2865,10 @@ long_name:         Sea Water Potential Temperature
 dimensions:        longitude latitude olevel time
 out_name:          thetao
 type:              real
-valid_min:         -6.2e+17
-valid_max:         1e+20
-ok_min_mean_abs:   -6.2e+17
-ok_max_mean_abs:   1e+20
+valid_min:         -6.247e+17
+valid_max:         1.006e+20
+ok_min_mean_abs:   -6.247e+17
+ok_max_mean_abs:   1.006e+20
 !----------------------------------
 !
 
@@ -2911,10 +2911,10 @@ comment:           "this may differ from ""surface temperature"" in regions of s
 dimensions:        longitude latitude time
 out_name:          tos
 type:              real
-valid_min:         2.7e+02
-valid_max:         3.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         270.7
+valid_max:         312.5
+ok_min_mean_abs:   284.6
+ok_max_mean_abs:   290.8
 !----------------------------------
 !
 
@@ -2957,10 +2957,10 @@ long_name:         Sea Water Salinity
 dimensions:        longitude latitude olevel time
 out_name:          so
 type:              real
-valid_min:         -6.2e+17
-valid_max:         1e+20
-ok_min_mean_abs:   -6.2e+17
-ok_max_mean_abs:   1e+20
+valid_min:         -6.247e+17
+valid_max:         1.006e+20
+ok_min_mean_abs:   -6.247e+17
+ok_max_mean_abs:   1.006e+20
 !----------------------------------
 !
 
@@ -3023,10 +3023,10 @@ long_name:         Sea Water Potential Density
 dimensions:        longitude latitude olevel time
 out_name:          rhopoto
 type:              real
-valid_min:         1.9
-valid_max:         1.1e+03
-ok_min_mean_abs:   15
-ok_max_mean_abs:   1e+03
+valid_min:         1.92
+valid_max:         1052
+ok_min_mean_abs:   15.13
+ok_max_mean_abs:   1037
 !----------------------------------
 !
 
@@ -3196,10 +3196,10 @@ long_name:         Sea Water X Velocity
 dimensions:        longitude latitude olevel time
 out_name:          uo
 type:              real
-valid_min:         -6.9e+17
-valid_max:         1e+20
-ok_min_mean_abs:   -6.9e+17
-ok_max_mean_abs:   1e+20
+valid_min:         -6.939e+17
+valid_max:         1.007e+20
+ok_min_mean_abs:   -6.939e+17
+ok_max_mean_abs:   1.007e+20
 !----------------------------------
 !
 
@@ -3221,10 +3221,10 @@ long_name:         Sea Water Y Velocity
 dimensions:        longitude latitude olevel time
 out_name:          vo
 type:              real
-valid_min:         -6.9e+17
-valid_max:         1e+20
-ok_min_mean_abs:   -6.9e+17
-ok_max_mean_abs:   1e+20
+valid_min:         -6.939e+17
+valid_max:         1.007e+20
+ok_min_mean_abs:   -6.939e+17
+ok_max_mean_abs:   1.007e+20
 !----------------------------------
 !
 
@@ -3755,10 +3755,10 @@ comment:           function of latitude, basin
 dimensions:        latitude basin time
 out_name:          htovgyre
 type:              real
-valid_min:         -1.7e+15
-valid_max:         1.7e+15
-ok_min_mean_abs:   1.5e+14
-ok_max_mean_abs:   1.5e+14
+valid_min:         -1.671e+15
+valid_max:         1.698e+15
+ok_min_mean_abs:   1.463e+14
+ok_max_mean_abs:   1.492e+14
 !----------------------------------
 !
 
@@ -3780,10 +3780,10 @@ comment:           function of latitude, basin
 dimensions:        latitude basin time
 out_name:          htovovrt
 type:              real
-valid_min:         -6e+15
-valid_max:         8.2e+15
-ok_min_mean_abs:   5.1e+14
-ok_max_mean_abs:   5.1e+14
+valid_min:         -5.905e+15
+valid_max:         8.235e+15
+ok_min_mean_abs:   5.047e+14
+ok_max_mean_abs:   5.149e+14
 !----------------------------------
 !
 
@@ -3805,10 +3805,10 @@ comment:           function of latitude, basin
 dimensions:        latitude basin time
 out_name:          sltovgyre
 type:              real
-valid_min:         -5.3e+10
-valid_max:         3.3e+10
-ok_min_mean_abs:   3.8e+09
-ok_max_mean_abs:   3.8e+09
+valid_min:         -5.277e+10
+valid_max:         3.366e+10
+ok_min_mean_abs:   3.719e+09
+ok_max_mean_abs:   3.794e+09
 !----------------------------------
 !
 
@@ -3830,10 +3830,10 @@ comment:           function of latitude, basin
 dimensions:        latitude basin time
 out_name:          sltovovrt
 type:              real
-valid_min:         -4.1e+11
-valid_max:         4.6e+11
-ok_min_mean_abs:   2.7e+10
-ok_max_mean_abs:   2.7e+10
+valid_min:         -4.086e+11
+valid_max:         4.613e+11
+ok_min_mean_abs:   2.646e+10
+ok_max_mean_abs:   2.699e+10
 !----------------------------------
 !
 
@@ -3875,10 +3875,10 @@ comment:           compute as the total mass of liquid water falling as liquid r
 dimensions:        longitude latitude time
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -3901,10 +3901,10 @@ comment:           compute as the total mass of ice directly falling as snow int
 dimensions:        longitude latitude time
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -4015,10 +4015,10 @@ comment:           compute as the water  flux into the ocean divided by the area
 dimensions:        longitude latitude time
 out_name:          wfo
 type:              real
-valid_min:         -0.0047
-valid_max:         0.034
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   5.6e-05
+valid_min:         -0.004655
+valid_max:         0.03406
+ok_min_mean_abs:   2.262e-05
+ok_max_mean_abs:   5.62e-05
 !----------------------------------
 !
 
@@ -4435,10 +4435,10 @@ dimensions:        longitude latitude time
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -4462,10 +4462,10 @@ dimensions:        longitude latitude time
 out_name:          hfls
 type:              real
 positive:          down
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -4489,10 +4489,10 @@ dimensions:        longitude latitude time
 out_name:          hfss
 type:              real
 positive:          down
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -4538,10 +4538,10 @@ dimensions:        longitude latitude olevel time
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_Oyr b/Tables/CMIP5_Oyr
index 10296d8..6af87ab 100644
--- a/Tables/CMIP5_Oyr
+++ b/Tables/CMIP5_Oyr
@@ -6,7 +6,7 @@ frequency: yr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
diff --git a/Tables/CMIP5_aero b/Tables/CMIP5_aero
index cce518b..58e00ff 100644
--- a/Tables/CMIP5_aero
+++ b/Tables/CMIP5_aero
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
diff --git a/Tables/CMIP5_cf3hr b/Tables/CMIP5_cf3hr
index b851dc7..27c9ed4 100644
--- a/Tables/CMIP5_cf3hr
+++ b/Tables/CMIP5_cf3hr
@@ -6,7 +6,7 @@ frequency: 3hr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -1023,10 +1023,10 @@ comment:           near-surface (usually, 2 meter) air temperature.
 dimensions:        longitude latitude time1 height2m
 out_name:          tas
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         184.6
+valid_max:         323.6
+ok_min_mean_abs:   274.4
+ok_max_mean_abs:   280.8
 !----------------------------------
 !
 
@@ -1049,10 +1049,10 @@ comment:           ""skin"" temperature (i.e., SST for open ocean)
 dimensions:        longitude latitude time1
 out_name:          ts
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.3e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         180.6
+valid_max:         329
+ok_min_mean_abs:   275
+ok_max_mean_abs:   281
 !----------------------------------
 !
 
@@ -1075,10 +1075,10 @@ comment:           not, in general, the same as surface pressure
 dimensions:        longitude latitude time1
 out_name:          psl
 type:              real
-valid_min:         9.5e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   1e+05
-ok_max_mean_abs:   1e+05
+valid_min:         9.519e+04
+valid_max:         1.11e+05
+ok_min_mean_abs:   1.004e+05
+ok_max_mean_abs:   1.016e+05
 !----------------------------------
 !
 
@@ -1101,10 +1101,10 @@ comment:           not, in general, the same as mean sea-level pressure
 dimensions:        longitude latitude time1
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
@@ -1127,10 +1127,10 @@ comment:           near-surface (usually, 10 meters) eastward component of wind.
 dimensions:        longitude latitude time1 height10m
 out_name:          uas
 type:              real
-valid_min:         -18
-valid_max:         18
-ok_min_mean_abs:   1.9
-ok_max_mean_abs:   3.8
+valid_min:         -17.76
+valid_max:         17.68
+ok_min_mean_abs:   1.927
+ok_max_mean_abs:   3.847
 !----------------------------------
 !
 
@@ -1153,10 +1153,10 @@ comment:           near-surface (usually, 10 meters) northward component of wind
 dimensions:        longitude latitude time1 height10m
 out_name:          vas
 type:              real
-valid_min:         -17
-valid_max:         21
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   2.5
+valid_min:         -16.93
+valid_max:         20.82
+ok_min_mean_abs:   1.239
+ok_max_mean_abs:   2.505
 !----------------------------------
 !
 
@@ -1223,10 +1223,10 @@ comment:           near-surface (usually, 2 meters) specific humidity.
 dimensions:        longitude latitude time1 height2m
 out_name:          huss
 type:              real
-valid_min:         -4.8e-06
-valid_max:         0.029
-ok_min_mean_abs:   0.0067
-ok_max_mean_abs:   0.0085
+valid_min:         -4.806e-06
+valid_max:         0.0287
+ok_min_mean_abs:   0.006655
+ok_max_mean_abs:   0.008485
 !----------------------------------
 !
 
@@ -1249,10 +1249,10 @@ comment:           at surface; includes both liquid and solid phases from all ty
 dimensions:        longitude latitude time1
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -1275,10 +1275,10 @@ comment:           at surface; includes precipitation of all forms of water in t
 dimensions:        longitude latitude time1
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -1301,10 +1301,10 @@ comment:           at surface; includes both liquid and solid phases.
 dimensions:        longitude latitude time1
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -1349,10 +1349,10 @@ comment:           The snow and ice sublimation flux is the loss of snow and ice
 dimensions:        longitude latitude time1
 out_name:          sbl
 type:              real
-valid_min:         -0.004
-valid_max:         0.00083
-ok_min_mean_abs:   -3.6e-05
-ok_max_mean_abs:   7.7e-05
+valid_min:         -0.003967
+valid_max:         0.0008264
+ok_min_mean_abs:   -3.63e-05
+ok_max_mean_abs:   7.718e-05
 !----------------------------------
 !
 
@@ -1375,10 +1375,10 @@ dimensions:        longitude latitude time1
 out_name:          tauu
 type:              real
 positive:          down
-valid_min:         -2.4
-valid_max:         2.6
-ok_min_mean_abs:   0.047
-ok_max_mean_abs:   0.099
+valid_min:         -2.415
+valid_max:         2.576
+ok_min_mean_abs:   0.04688
+ok_max_mean_abs:   0.09945
 !----------------------------------
 !
 
@@ -1401,10 +1401,10 @@ dimensions:        longitude latitude time1
 out_name:          tauv
 type:              real
 positive:          down
-valid_min:         -2.2
-valid_max:         2.2
-ok_min_mean_abs:   0.022
-ok_max_mean_abs:   0.074
+valid_min:         -2.163
+valid_max:         2.24
+ok_min_mean_abs:   0.0215
+ok_max_mean_abs:   0.0743
 !----------------------------------
 !
 
@@ -1428,10 +1428,10 @@ dimensions:        longitude latitude time1
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -1454,10 +1454,10 @@ dimensions:        longitude latitude time1
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -1480,10 +1480,10 @@ dimensions:        longitude latitude time1
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -1506,10 +1506,10 @@ dimensions:        longitude latitude time1
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -1532,10 +1532,10 @@ dimensions:        longitude latitude time1
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -1558,10 +1558,10 @@ dimensions:        longitude latitude time1
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -1584,10 +1584,10 @@ dimensions:        longitude latitude time1
 out_name:          rsdscs
 type:              real
 positive:          down
-valid_min:         -1.5e+30
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.1e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         -1.499e+30
+valid_max:         511.1
+ok_min_mean_abs:   210.5
+ok_max_mean_abs:   234.9
 !----------------------------------
 !
 
@@ -1610,10 +1610,10 @@ dimensions:        longitude latitude time1
 out_name:          rsuscs
 type:              real
 positive:          up
-valid_min:         -0.012
-valid_max:         4.5e+02
-ok_min_mean_abs:   35
-ok_max_mean_abs:   58
+valid_min:         -0.01239
+valid_max:         449.6
+ok_min_mean_abs:   34.89
+ok_max_mean_abs:   58.35
 !----------------------------------
 !
 
@@ -1636,10 +1636,10 @@ dimensions:        longitude latitude time1
 out_name:          rldscs
 type:              real
 positive:          down
-valid_min:         37
-valid_max:         5.3e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         36.67
+valid_max:         525.2
+ok_min_mean_abs:   244.2
+ok_max_mean_abs:   288.2
 !----------------------------------
 !
 
@@ -1664,9 +1664,9 @@ out_name:          rsdt
 type:              real
 positive:          down
 valid_min:         0
-valid_max:         5.5e+02
-ok_min_mean_abs:   3e+02
-ok_max_mean_abs:   3e+02
+valid_max:         554.6
+ok_min_mean_abs:   295.4
+ok_max_mean_abs:   302.8
 !----------------------------------
 !
 
@@ -1690,10 +1690,10 @@ dimensions:        longitude latitude time1
 out_name:          rsut
 type:              real
 positive:          up
-valid_min:         -0.023
-valid_max:         4.1e+02
-ok_min_mean_abs:   99
-ok_max_mean_abs:   1.1e+02
+valid_min:         -0.02332
+valid_max:         411.9
+ok_min_mean_abs:   98.59
+ok_max_mean_abs:   112.2
 !----------------------------------
 !
 
@@ -1717,10 +1717,10 @@ dimensions:        longitude latitude time1
 out_name:          rlut
 type:              real
 positive:          up
-valid_min:         73
-valid_max:         3.8e+02
-ok_min_mean_abs:   2.2e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         73.04
+valid_max:         376.2
+ok_min_mean_abs:   215.5
+ok_max_mean_abs:   226.1
 !----------------------------------
 !
 
@@ -1743,10 +1743,10 @@ dimensions:        longitude latitude time1
 out_name:          rlutcs
 type:              real
 positive:          up
-valid_min:         75
-valid_max:         3.7e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.5e+02
+valid_min:         74.96
+valid_max:         368.1
+ok_min_mean_abs:   237.1
+ok_max_mean_abs:   251.8
 !----------------------------------
 !
 
@@ -1770,9 +1770,9 @@ out_name:          rsutcs
 type:              real
 positive:          up
 valid_min:         0
-valid_max:         4.3e+02
-ok_min_mean_abs:   57
-ok_max_mean_abs:   71
+valid_max:         434.2
+ok_min_mean_abs:   56.72
+ok_max_mean_abs:   71.33
 !----------------------------------
 !
 
@@ -1795,9 +1795,9 @@ comment:           vertically integrated through the atmospheric column
 dimensions:        longitude latitude time1
 out_name:          prw
 type:              real
-valid_min:         0.012
-valid_max:         75
-ok_min_mean_abs:   14
+valid_min:         0.01199
+valid_max:         75.33
+ok_min_mean_abs:   13.84
 ok_max_mean_abs:   22
 !----------------------------------
 !
@@ -1821,10 +1821,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time1
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
@@ -1847,10 +1847,10 @@ comment:           calculate mass of condensed (liquid + ice) water in the colum
 dimensions:        longitude latitude time1
 out_name:          clwvi
 type:              real
-valid_min:         -2.6e-06
-valid_max:         2.9
-ok_min_mean_abs:   -0.0028
-ok_max_mean_abs:   0.25
+valid_min:         -2.551e-06
+valid_max:         2.95
+ok_min_mean_abs:   -0.002773
+ok_max_mean_abs:   0.2519
 !----------------------------------
 !
 
@@ -1873,10 +1873,10 @@ comment:           calculate mass of ice water in the column divided by the area
 dimensions:        longitude latitude time1
 out_name:          clivi
 type:              real
-valid_min:         -1.2e-06
+valid_min:         -1.248e-06
 valid_max:         1.3
-ok_min_mean_abs:   -0.019
-ok_max_mean_abs:   0.1
+ok_min_mean_abs:   -0.01934
+ok_max_mean_abs:   0.1033
 !----------------------------------
 !
 
@@ -1900,10 +1900,10 @@ dimensions:        longitude latitude time1
 out_name:          rtmt
 type:              real
 positive:          down
-valid_min:         -2.3e+02
-valid_max:         2.1e+02
-ok_min_mean_abs:   79
-ok_max_mean_abs:   87
+valid_min:         -227.4
+valid_max:         211.7
+ok_min_mean_abs:   78.74
+ok_max_mean_abs:   87.22
 !----------------------------------
 !
 
@@ -2187,10 +2187,10 @@ long_name:         Air Temperature
 dimensions:        longitude latitude alevel time1
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_cfDay b/Tables/CMIP5_cfDay
index 3c69384..fc3aea6 100644
--- a/Tables/CMIP5_cfDay
+++ b/Tables/CMIP5_cfDay
@@ -6,7 +6,7 @@ frequency: day
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -660,10 +660,10 @@ long_name:         Surface Air Pressure
 dimensions:        longitude latitude time
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
@@ -687,9 +687,9 @@ out_name:          rsdt
 type:              real
 positive:          down
 valid_min:         0
-valid_max:         5.5e+02
-ok_min_mean_abs:   3e+02
-ok_max_mean_abs:   3e+02
+valid_max:         554.6
+ok_min_mean_abs:   295.4
+ok_max_mean_abs:   302.8
 !----------------------------------
 !
 
@@ -712,10 +712,10 @@ dimensions:        longitude latitude time
 out_name:          rsut
 type:              real
 positive:          up
-valid_min:         -0.023
-valid_max:         4.1e+02
-ok_min_mean_abs:   99
-ok_max_mean_abs:   1.1e+02
+valid_min:         -0.02332
+valid_max:         411.9
+ok_min_mean_abs:   98.59
+ok_max_mean_abs:   112.2
 !----------------------------------
 !
 
@@ -738,10 +738,10 @@ dimensions:        longitude latitude time
 out_name:          rsdscs
 type:              real
 positive:          down
-valid_min:         -1.5e+30
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.1e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         -1.499e+30
+valid_max:         511.1
+ok_min_mean_abs:   210.5
+ok_max_mean_abs:   234.9
 !----------------------------------
 !
 
@@ -763,10 +763,10 @@ dimensions:        longitude latitude time
 out_name:          rsuscs
 type:              real
 positive:          up
-valid_min:         -0.012
-valid_max:         4.5e+02
-ok_min_mean_abs:   35
-ok_max_mean_abs:   58
+valid_min:         -0.01239
+valid_max:         449.6
+ok_min_mean_abs:   34.89
+ok_max_mean_abs:   58.35
 !----------------------------------
 !
 
@@ -789,10 +789,10 @@ dimensions:        longitude latitude time
 out_name:          rldscs
 type:              real
 positive:          down
-valid_min:         37
-valid_max:         5.3e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         36.67
+valid_max:         525.2
+ok_min_mean_abs:   244.2
+ok_max_mean_abs:   288.2
 !----------------------------------
 !
 
@@ -815,10 +815,10 @@ dimensions:        longitude latitude time
 out_name:          rlutcs
 type:              real
 positive:          up
-valid_min:         75
-valid_max:         3.7e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.5e+02
+valid_min:         74.96
+valid_max:         368.1
+ok_min_mean_abs:   237.1
+ok_max_mean_abs:   251.8
 !----------------------------------
 !
 
@@ -842,9 +842,9 @@ out_name:          rsutcs
 type:              real
 positive:          up
 valid_min:         0
-valid_max:         4.3e+02
-ok_min_mean_abs:   57
-ok_max_mean_abs:   71
+valid_max:         434.2
+ok_min_mean_abs:   56.72
+ok_max_mean_abs:   71.33
 !----------------------------------
 !
 
@@ -867,10 +867,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
@@ -893,10 +893,10 @@ comment:           calculate mass of condensed (liquid + ice) water in the colum
 dimensions:        longitude latitude time
 out_name:          clwvi
 type:              real
-valid_min:         -2.6e-06
-valid_max:         2.9
-ok_min_mean_abs:   -0.0028
-ok_max_mean_abs:   0.25
+valid_min:         -2.551e-06
+valid_max:         2.95
+ok_min_mean_abs:   -0.002773
+ok_max_mean_abs:   0.2519
 !----------------------------------
 !
 
@@ -919,10 +919,10 @@ comment:           calculate mass of ice water in the column divided by the area
 dimensions:        longitude latitude time
 out_name:          clivi
 type:              real
-valid_min:         -1.2e-06
+valid_min:         -1.248e-06
 valid_max:         1.3
-ok_min_mean_abs:   -0.019
-ok_max_mean_abs:   0.1
+ok_min_mean_abs:   -0.01934
+ok_max_mean_abs:   0.1033
 !----------------------------------
 !
 
@@ -1030,10 +1030,10 @@ long_name:         Convective Precipitation
 dimensions:        longitude latitude time
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -1056,10 +1056,10 @@ dimensions:        longitude latitude time
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -1082,10 +1082,10 @@ dimensions:        longitude latitude time
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -1108,10 +1108,10 @@ dimensions:        longitude latitude time
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -1134,10 +1134,10 @@ dimensions:        longitude latitude time
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -1160,10 +1160,10 @@ dimensions:        longitude latitude time
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -1186,10 +1186,10 @@ dimensions:        longitude latitude time
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -1212,10 +1212,10 @@ dimensions:        longitude latitude time
 out_name:          rlut
 type:              real
 positive:          up
-valid_min:         73
-valid_max:         3.8e+02
-ok_min_mean_abs:   2.2e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         73.04
+valid_max:         376.2
+ok_min_mean_abs:   215.5
+ok_max_mean_abs:   226.1
 !----------------------------------
 !
 
@@ -1408,10 +1408,10 @@ long_name:         Eastward Wind
 dimensions:        longitude latitude alevel time
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -1433,10 +1433,10 @@ long_name:         Northward Wind
 dimensions:        longitude latitude alevel time
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -1458,10 +1458,10 @@ long_name:         Air Temperature
 dimensions:        longitude latitude alevel time
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -1483,10 +1483,10 @@ long_name:         Specific Humidity
 dimensions:        longitude latitude alevel time
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -1509,10 +1509,10 @@ comment:           commonly referred to as ""omega"", this represents the vertic
 dimensions:        longitude latitude alevel time
 out_name:          wap
 type:              real
-valid_min:         -1.1
+valid_min:         -1.055
 valid_max:         2.2
-ok_min_mean_abs:   -0.0033
-ok_max_mean_abs:   0.041
+ok_min_mean_abs:   -0.003335
+ok_max_mean_abs:   0.04081
 !----------------------------------
 !
 
@@ -1534,10 +1534,10 @@ long_name:         Geopotential Height
 dimensions:        longitude latitude alevel time
 out_name:          zg
 type:              real
-valid_min:         -5.7e+02
-valid_max:         3.3e+04
-ok_min_mean_abs:   -40
-ok_max_mean_abs:   3.2e+04
+valid_min:         -574.3
+valid_max:         3.295e+04
+ok_min_mean_abs:   -39.68
+ok_max_mean_abs:   3.157e+04
 !----------------------------------
 !
 
@@ -1560,10 +1560,10 @@ comment:           This is the relative humidity with respect to liquid water fo
 dimensions:        longitude latitude alevel time
 out_name:          hur
 type:              real
-valid_min:         -1.8
-valid_max:         1.3e+02
-ok_min_mean_abs:   -6.8
-ok_max_mean_abs:   94
+valid_min:         -1.762
+valid_max:         126.1
+ok_min_mean_abs:   -6.834
+ok_max_mean_abs:   93.53
 !----------------------------------
 !
 
@@ -1586,9 +1586,9 @@ dimensions:        longitude latitude alevel time
 out_name:          cl
 type:              real
 valid_min:         0
-valid_max:         1e+02
-ok_min_mean_abs:   -0.03
-ok_max_mean_abs:   25
+valid_max:         100.1
+ok_min_mean_abs:   -0.02986
+ok_max_mean_abs:   24.86
 !----------------------------------
 !
 
@@ -1701,9 +1701,9 @@ dimensions:        longitude latitude tau plev7 time
 out_name:          clisccp
 type:              real
 valid_min:         0
-valid_max:         0.87
-ok_min_mean_abs:   0.0011
-ok_max_mean_abs:   0.03
+valid_max:         0.883
+ok_min_mean_abs:   0.001092
+ok_max_mean_abs:   0.03072
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_cfMon b/Tables/CMIP5_cfMon
index fb5376f..8910c72 100644
--- a/Tables/CMIP5_cfMon
+++ b/Tables/CMIP5_cfMon
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -913,10 +913,10 @@ long_name:         Air Temperature
 dimensions:        longitude latitude alevel time
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -1064,10 +1064,10 @@ long_name:         Specific Humidity
 dimensions:        longitude latitude alevel time
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -2657,9 +2657,9 @@ dimensions:        longitude latitude plev7, tau, time
 out_name:          clisccp
 type:              real
 valid_min:         0
-valid_max:         0.87
-ok_min_mean_abs:   0.0011
-ok_max_mean_abs:   0.03
+valid_max:         0.883
+ok_min_mean_abs:   0.001092
+ok_max_mean_abs:   0.03072
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_cfOff b/Tables/CMIP5_cfOff
index eca715c..020bfa6 100644
--- a/Tables/CMIP5_cfOff
+++ b/Tables/CMIP5_cfOff
@@ -6,7 +6,7 @@ frequency: mon
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
diff --git a/Tables/CMIP5_cfSites b/Tables/CMIP5_cfSites
index 769c379..a1d07db 100644
--- a/Tables/CMIP5_cfSites
+++ b/Tables/CMIP5_cfSites
@@ -6,7 +6,7 @@ frequency: subhr
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -563,10 +563,10 @@ comment:           near-surface (usually, 2 meter) air temperature.
 dimensions:        longitude latitude time1 height2m
 out_name:          tas
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         184.6
+valid_max:         323.6
+ok_min_mean_abs:   274.4
+ok_max_mean_abs:   280.8
 !----------------------------------
 !
 
@@ -589,10 +589,10 @@ comment:           ""skin"" temperature (i.e., SST for open ocean)
 dimensions:        longitude latitude time1
 out_name:          ts
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.3e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         180.6
+valid_max:         329
+ok_min_mean_abs:   275
+ok_max_mean_abs:   281
 !----------------------------------
 !
 
@@ -615,10 +615,10 @@ comment:           not, in general, the same as surface pressure
 dimensions:        longitude latitude time1
 out_name:          psl
 type:              real
-valid_min:         9.5e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   1e+05
-ok_max_mean_abs:   1e+05
+valid_min:         9.519e+04
+valid_max:         1.11e+05
+ok_min_mean_abs:   1.004e+05
+ok_max_mean_abs:   1.016e+05
 !----------------------------------
 !
 
@@ -641,10 +641,10 @@ comment:           not, in general, the same as mean sea-level pressure
 dimensions:        longitude latitude time1
 out_name:          ps
 type:              real
-valid_min:         4.9e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   9.6e+04
-ok_max_mean_abs:   9.7e+04
+valid_min:         4.876e+04
+valid_max:         1.084e+05
+ok_min_mean_abs:   9.62e+04
+ok_max_mean_abs:   9.729e+04
 !----------------------------------
 !
 
@@ -667,10 +667,10 @@ comment:           near-surface (usually, 10 meters) eastward component of wind.
 dimensions:        longitude latitude time1 height10m
 out_name:          uas
 type:              real
-valid_min:         -18
-valid_max:         18
-ok_min_mean_abs:   1.9
-ok_max_mean_abs:   3.8
+valid_min:         -17.76
+valid_max:         17.68
+ok_min_mean_abs:   1.927
+ok_max_mean_abs:   3.847
 !----------------------------------
 !
 
@@ -693,10 +693,10 @@ comment:           near-surface (usually, 10 meters) northward component of wind
 dimensions:        longitude latitude time1 height10m
 out_name:          vas
 type:              real
-valid_min:         -17
-valid_max:         21
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   2.5
+valid_min:         -16.93
+valid_max:         20.82
+ok_min_mean_abs:   1.239
+ok_max_mean_abs:   2.505
 !----------------------------------
 !
 
@@ -763,10 +763,10 @@ comment:           near-surface (usually, 2 meters) specific humidity.
 dimensions:        longitude latitude time1 height2m
 out_name:          huss
 type:              real
-valid_min:         -4.8e-06
-valid_max:         0.029
-ok_min_mean_abs:   0.0067
-ok_max_mean_abs:   0.0085
+valid_min:         -4.806e-06
+valid_max:         0.0287
+ok_min_mean_abs:   0.006655
+ok_max_mean_abs:   0.008485
 !----------------------------------
 !
 
@@ -789,10 +789,10 @@ comment:           at surface; includes both liquid and solid phases from all ty
 dimensions:        longitude latitude time1
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -815,10 +815,10 @@ comment:           at surface; includes precipitation of all forms of water in t
 dimensions:        longitude latitude time1
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -841,10 +841,10 @@ comment:           at surface; includes both liquid and solid phases.
 dimensions:        longitude latitude time1
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -889,10 +889,10 @@ comment:           The snow and ice sublimation flux is the loss of snow and ice
 dimensions:        longitude latitude time1
 out_name:          sbl
 type:              real
-valid_min:         -0.004
-valid_max:         0.00083
-ok_min_mean_abs:   -3.6e-05
-ok_max_mean_abs:   7.7e-05
+valid_min:         -0.003967
+valid_max:         0.0008264
+ok_min_mean_abs:   -3.63e-05
+ok_max_mean_abs:   7.718e-05
 !----------------------------------
 !
 
@@ -915,10 +915,10 @@ dimensions:        longitude latitude time1
 out_name:          tauu
 type:              real
 positive:          down
-valid_min:         -2.4
-valid_max:         2.6
-ok_min_mean_abs:   0.047
-ok_max_mean_abs:   0.099
+valid_min:         -2.415
+valid_max:         2.576
+ok_min_mean_abs:   0.04688
+ok_max_mean_abs:   0.09945
 !----------------------------------
 !
 
@@ -941,10 +941,10 @@ dimensions:        longitude latitude time1
 out_name:          tauv
 type:              real
 positive:          down
-valid_min:         -2.2
-valid_max:         2.2
-ok_min_mean_abs:   0.022
-ok_max_mean_abs:   0.074
+valid_min:         -2.163
+valid_max:         2.24
+ok_min_mean_abs:   0.0215
+ok_max_mean_abs:   0.0743
 !----------------------------------
 !
 
@@ -968,10 +968,10 @@ dimensions:        longitude latitude time1
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -994,10 +994,10 @@ dimensions:        longitude latitude time1
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -1020,10 +1020,10 @@ dimensions:        longitude latitude time1
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -1046,10 +1046,10 @@ dimensions:        longitude latitude time1
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -1072,10 +1072,10 @@ dimensions:        longitude latitude time1
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -1098,10 +1098,10 @@ dimensions:        longitude latitude time1
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -1124,10 +1124,10 @@ dimensions:        longitude latitude time1
 out_name:          rsdscs
 type:              real
 positive:          down
-valid_min:         -1.5e+30
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.1e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         -1.499e+30
+valid_max:         511.1
+ok_min_mean_abs:   210.5
+ok_max_mean_abs:   234.9
 !----------------------------------
 !
 
@@ -1150,10 +1150,10 @@ dimensions:        longitude latitude time1
 out_name:          rsuscs
 type:              real
 positive:          up
-valid_min:         -0.012
-valid_max:         4.5e+02
-ok_min_mean_abs:   35
-ok_max_mean_abs:   58
+valid_min:         -0.01239
+valid_max:         449.6
+ok_min_mean_abs:   34.89
+ok_max_mean_abs:   58.35
 !----------------------------------
 !
 
@@ -1176,10 +1176,10 @@ dimensions:        longitude latitude time1
 out_name:          rldscs
 type:              real
 positive:          down
-valid_min:         37
-valid_max:         5.3e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         36.67
+valid_max:         525.2
+ok_min_mean_abs:   244.2
+ok_max_mean_abs:   288.2
 !----------------------------------
 !
 
@@ -1204,9 +1204,9 @@ out_name:          rsdt
 type:              real
 positive:          down
 valid_min:         0
-valid_max:         5.5e+02
-ok_min_mean_abs:   3e+02
-ok_max_mean_abs:   3e+02
+valid_max:         554.6
+ok_min_mean_abs:   295.4
+ok_max_mean_abs:   302.8
 !----------------------------------
 !
 
@@ -1230,10 +1230,10 @@ dimensions:        longitude latitude time1
 out_name:          rsut
 type:              real
 positive:          up
-valid_min:         -0.023
-valid_max:         4.1e+02
-ok_min_mean_abs:   99
-ok_max_mean_abs:   1.1e+02
+valid_min:         -0.02332
+valid_max:         411.9
+ok_min_mean_abs:   98.59
+ok_max_mean_abs:   112.2
 !----------------------------------
 !
 
@@ -1257,10 +1257,10 @@ dimensions:        longitude latitude time1
 out_name:          rlut
 type:              real
 positive:          up
-valid_min:         73
-valid_max:         3.8e+02
-ok_min_mean_abs:   2.2e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         73.04
+valid_max:         376.2
+ok_min_mean_abs:   215.5
+ok_max_mean_abs:   226.1
 !----------------------------------
 !
 
@@ -1283,10 +1283,10 @@ dimensions:        longitude latitude time1
 out_name:          rlutcs
 type:              real
 positive:          up
-valid_min:         75
-valid_max:         3.7e+02
-ok_min_mean_abs:   2.4e+02
-ok_max_mean_abs:   2.5e+02
+valid_min:         74.96
+valid_max:         368.1
+ok_min_mean_abs:   237.1
+ok_max_mean_abs:   251.8
 !----------------------------------
 !
 
@@ -1310,9 +1310,9 @@ out_name:          rsutcs
 type:              real
 positive:          up
 valid_min:         0
-valid_max:         4.3e+02
-ok_min_mean_abs:   57
-ok_max_mean_abs:   71
+valid_max:         434.2
+ok_min_mean_abs:   56.72
+ok_max_mean_abs:   71.33
 !----------------------------------
 !
 
@@ -1335,9 +1335,9 @@ comment:           vertically integrated through the atmospheric column
 dimensions:        longitude latitude time1
 out_name:          prw
 type:              real
-valid_min:         0.012
-valid_max:         75
-ok_min_mean_abs:   14
+valid_min:         0.01199
+valid_max:         75.33
+ok_min_mean_abs:   13.84
 ok_max_mean_abs:   22
 !----------------------------------
 !
@@ -1361,10 +1361,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time1
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
@@ -1387,10 +1387,10 @@ comment:           calculate mass of condensed (liquid + ice) water in the colum
 dimensions:        longitude latitude time1
 out_name:          clwvi
 type:              real
-valid_min:         -2.6e-06
-valid_max:         2.9
-ok_min_mean_abs:   -0.0028
-ok_max_mean_abs:   0.25
+valid_min:         -2.551e-06
+valid_max:         2.95
+ok_min_mean_abs:   -0.002773
+ok_max_mean_abs:   0.2519
 !----------------------------------
 !
 
@@ -1413,10 +1413,10 @@ comment:           calculate mass of ice water in the column divided by the area
 dimensions:        longitude latitude time1
 out_name:          clivi
 type:              real
-valid_min:         -1.2e-06
+valid_min:         -1.248e-06
 valid_max:         1.3
-ok_min_mean_abs:   -0.019
-ok_max_mean_abs:   0.1
+ok_min_mean_abs:   -0.01934
+ok_max_mean_abs:   0.1033
 !----------------------------------
 !
 
@@ -1440,10 +1440,10 @@ dimensions:        longitude latitude time1
 out_name:          rtmt
 type:              real
 positive:          down
-valid_min:         -2.3e+02
-valid_max:         2.1e+02
-ok_min_mean_abs:   79
-ok_max_mean_abs:   87
+valid_min:         -227.4
+valid_max:         211.7
+ok_min_mean_abs:   78.74
+ok_max_mean_abs:   87.22
 !----------------------------------
 !
 
@@ -1616,9 +1616,9 @@ dimensions:        alevel site time1
 out_name:          cl
 type:              real
 valid_min:         0
-valid_max:         1e+02
-ok_min_mean_abs:   -0.03
-ok_max_mean_abs:   25
+valid_max:         100.1
+ok_min_mean_abs:   -0.02986
+ok_max_mean_abs:   24.86
 !----------------------------------
 !
 
@@ -1703,10 +1703,10 @@ long_name:         Air Temperature
 dimensions:        alevel site time1
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -1727,10 +1727,10 @@ long_name:         Eastward Wind
 dimensions:        alevel site time1
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -1751,10 +1751,10 @@ long_name:         Northward Wind
 dimensions:        alevel site time1
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -1775,10 +1775,10 @@ long_name:         Specific Humidity
 dimensions:        alevel site time1
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -1800,10 +1800,10 @@ comment:           This is the relative humidity with respect to liquid water fo
 dimensions:        alevel site time1
 out_name:          hur
 type:              real
-valid_min:         -1.8
-valid_max:         1.3e+02
-ok_min_mean_abs:   -6.8
-ok_max_mean_abs:   94
+valid_min:         -1.762
+valid_max:         126.1
+ok_min_mean_abs:   -6.834
+ok_max_mean_abs:   93.53
 !----------------------------------
 !
 
@@ -1825,10 +1825,10 @@ comment:           commonly referred to as ""omega"", this represents the vertic
 dimensions:        alevel site time1
 out_name:          wap
 type:              real
-valid_min:         -1.1
+valid_min:         -1.055
 valid_max:         2.2
-ok_min_mean_abs:   -0.0033
-ok_max_mean_abs:   0.041
+ok_min_mean_abs:   -0.003335
+ok_max_mean_abs:   0.04081
 !----------------------------------
 !
 
@@ -1849,10 +1849,10 @@ long_name:         Geopotential Height
 dimensions:        alevel site time1
 out_name:          zg
 type:              real
-valid_min:         -5.7e+02
-valid_max:         3.3e+04
-ok_min_mean_abs:   -40
-ok_max_mean_abs:   3.2e+04
+valid_min:         -574.3
+valid_max:         3.295e+04
+ok_min_mean_abs:   -39.68
+ok_max_mean_abs:   3.157e+04
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_day b/Tables/CMIP5_day
index 6d4b8e9..e6c9736 100644
--- a/Tables/CMIP5_day
+++ b/Tables/CMIP5_day
@@ -6,7 +6,7 @@ frequency: day
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -236,10 +236,10 @@ comment:           near-surface (usually, 2 meter) specific humidity.
 dimensions:        longitude latitude time height2m
 out_name:          huss
 type:              real
-valid_min:         -4.8e-06
-valid_max:         0.029
-ok_min_mean_abs:   0.0067
-ok_max_mean_abs:   0.0085
+valid_min:         -4.806e-06
+valid_max:         0.0287
+ok_min_mean_abs:   0.006655
+ok_max_mean_abs:   0.008485
 !----------------------------------
 !
 
@@ -262,10 +262,10 @@ comment:           daily-minimum near-surface (usually, 2 meter) air temperature
 dimensions:        longitude latitude time height2m
 out_name:          tasmin
 type:              real
-valid_min:         1.9e+02
-valid_max:         3.1e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         186.6
+valid_max:         309.1
+ok_min_mean_abs:   272.8
+ok_max_mean_abs:   278.7
 !----------------------------------
 !
 
@@ -288,10 +288,10 @@ comment:           daily-maximum near-surface (usually, 2 meter) air temperature
 dimensions:        longitude latitude time height2m
 out_name:          tasmax
 type:              real
-valid_min:         1.9e+02
-valid_max:         3.3e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         186.4
+valid_max:         328.9
+ok_min_mean_abs:   277.8
+ok_max_mean_abs:   280.9
 !----------------------------------
 !
 
@@ -314,10 +314,10 @@ comment:           daily-mean near-surface (usually, 2 meter) air temperature.
 dimensions:        longitude latitude time height2m
 out_name:          tas
 type:              real
-valid_min:         1.8e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2.7e+02
-ok_max_mean_abs:   2.8e+02
+valid_min:         184.6
+valid_max:         323.6
+ok_min_mean_abs:   274.4
+ok_max_mean_abs:   280.8
 !----------------------------------
 !
 
@@ -340,10 +340,10 @@ comment:           at surface; includes both liquid and solid phases from all ty
 dimensions:        longitude latitude time
 out_name:          pr
 type:              real
-valid_min:         -1.3e-09
-valid_max:         0.0011
-ok_min_mean_abs:   2.3e-05
-ok_max_mean_abs:   3.1e-05
+valid_min:         0
+valid_max:         0.001127
+ok_min_mean_abs:   2.269e-05
+ok_max_mean_abs:   3.102e-05
 !----------------------------------
 !
 
@@ -365,10 +365,10 @@ long_name:         Sea Level Pressure
 dimensions:        longitude latitude time
 out_name:          psl
 type:              real
-valid_min:         9.5e+04
-valid_max:         1.1e+05
-ok_min_mean_abs:   1e+05
-ok_max_mean_abs:   1e+05
+valid_min:         9.519e+04
+valid_max:         1.11e+05
+ok_min_mean_abs:   1.004e+05
+ok_max_mean_abs:   1.016e+05
 !----------------------------------
 !
 
@@ -435,10 +435,10 @@ comment:           temperature of liquid ocean. Report on the ocean grid.  This
 dimensions:        longitude latitude time
 out_name:          tos
 type:              real
-valid_min:         2.7e+02
-valid_max:         3.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         270.7
+valid_max:         312.5
+ok_min_mean_abs:   284.6
+ok_max_mean_abs:   290.8
 !----------------------------------
 !
 
@@ -483,10 +483,10 @@ comment:           Compute the mass of water in all phases in the upper 0.1 mete
 dimensions:        longitude latitude time
 out_name:          mrsos
 type:              real
-valid_min:         -1.3
-valid_max:         1.3e+02
-ok_min_mean_abs:   -19
-ok_max_mean_abs:   1.1e+02
+valid_min:         -1.339
+valid_max:         128.2
+ok_min_mean_abs:   -18.67
+ok_max_mean_abs:   106.1
 !----------------------------------
 !
 
@@ -575,9 +575,9 @@ dimensions:        longitude latitude time
 out_name:          snc
 type:              real
 valid_min:         0
-valid_max:         1e+02
-ok_min_mean_abs:   -18
-ok_max_mean_abs:   67
+valid_max:         101.4
+ok_min_mean_abs:   -17.63
+ok_max_mean_abs:   67.08
 !----------------------------------
 !
 
@@ -600,10 +600,10 @@ comment:           for the whole atmospheric column, as seen from the surface or
 dimensions:        longitude latitude time
 out_name:          clt
 type:              real
-valid_min:         -0.00012
-valid_max:         1e+02
-ok_min_mean_abs:   44
-ok_max_mean_abs:   80
+valid_min:         -0.0001214
+valid_max:         100.1
+ok_min_mean_abs:   44.09
+ok_max_mean_abs:   80.27
 !----------------------------------
 !
 
@@ -648,10 +648,10 @@ comment:           Compute as the mass of surface snow on the land portion of th
 dimensions:        longitude latitude time
 out_name:          snw
 type:              real
-valid_min:         -0.005
-valid_max:         8e+05
-ok_min_mean_abs:   -4e+03
-ok_max_mean_abs:   1e+04
+valid_min:         -0.005028
+valid_max:         7.952e+05
+ok_min_mean_abs:   -4012
+ok_max_mean_abs:   1.012e+04
 !----------------------------------
 !
 
@@ -674,10 +674,10 @@ comment:           at surface; includes both liquid and solid phases.
 dimensions:        longitude latitude time
 out_name:          prc
 type:              real
-valid_min:         -8.1e-10
-valid_max:         0.00057
-ok_min_mean_abs:   1.2e-06
-ok_max_mean_abs:   2.8e-05
+valid_min:         0
+valid_max:         0.0005749
+ok_min_mean_abs:   1.174e-06
+ok_max_mean_abs:   2.839e-05
 !----------------------------------
 !
 
@@ -700,10 +700,10 @@ comment:           at surface; includes precipitation of all forms of water in t
 dimensions:        longitude latitude time
 out_name:          prsn
 type:              real
-valid_min:         -2.2e-10
-valid_max:         0.00027
-ok_min_mean_abs:   2e-06
-ok_max_mean_abs:   5.6e-06
+valid_min:         0
+valid_max:         0.0002653
+ok_min_mean_abs:   1.952e-06
+ok_max_mean_abs:   5.607e-06
 !----------------------------------
 !
 
@@ -726,10 +726,10 @@ comment:           "compute as the total runoff (including ""drainage"" through
 dimensions:        longitude latitude time
 out_name:          mrro
 type:              real
-valid_min:         -0.00017
-valid_max:         0.00093
-ok_min_mean_abs:   -3.8e-06
-ok_max_mean_abs:   1.6e-05
+valid_min:         -0.0001729
+valid_max:         0.0009312
+ok_min_mean_abs:   -3.818e-06
+ok_max_mean_abs:   1.589e-05
 !----------------------------------
 !
 
@@ -752,10 +752,10 @@ comment:           near-surface (usually, 10 meters) eastward component of wind.
 dimensions:        longitude latitude time height10m
 out_name:          uas
 type:              real
-valid_min:         -18
-valid_max:         18
-ok_min_mean_abs:   1.9
-ok_max_mean_abs:   3.8
+valid_min:         -17.76
+valid_max:         17.68
+ok_min_mean_abs:   1.927
+ok_max_mean_abs:   3.847
 !----------------------------------
 !
 
@@ -778,10 +778,10 @@ comment:           near-surface (usually, 10 meters) northward component of wind
 dimensions:        longitude latitude time height10m
 out_name:          vas
 type:              real
-valid_min:         -17
-valid_max:         21
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   2.5
+valid_min:         -16.93
+valid_max:         20.82
+ok_min_mean_abs:   1.239
+ok_max_mean_abs:   2.505
 !----------------------------------
 !
 
@@ -826,10 +826,10 @@ dimensions:        longitude latitude time
 out_name:          hfls
 type:              real
 positive:          up
-valid_min:         -67
-valid_max:         7.3e+02
-ok_min_mean_abs:   53
-ok_max_mean_abs:   71
+valid_min:         -66.63
+valid_max:         729.1
+ok_min_mean_abs:   52.91
+ok_max_mean_abs:   70.68
 !----------------------------------
 !
 
@@ -852,10 +852,10 @@ dimensions:        longitude latitude time
 out_name:          hfss
 type:              real
 positive:          up
-valid_min:         -2.4e+02
-valid_max:         7.6e+02
-ok_min_mean_abs:   13
-ok_max_mean_abs:   32
+valid_min:         -235.7
+valid_max:         760.8
+ok_min_mean_abs:   13.12
+ok_max_mean_abs:   32.42
 !----------------------------------
 !
 
@@ -878,10 +878,10 @@ dimensions:        longitude latitude time
 out_name:          rlds
 type:              real
 positive:          down
-valid_min:         36
-valid_max:         5.1e+02
-ok_min_mean_abs:   2.8e+02
-ok_max_mean_abs:   3.2e+02
+valid_min:         35.71
+valid_max:         506.9
+ok_min_mean_abs:   276.6
+ok_max_mean_abs:   318.2
 !----------------------------------
 !
 
@@ -904,10 +904,10 @@ dimensions:        longitude latitude time
 out_name:          rlus
 type:              real
 positive:          up
-valid_min:         51
-valid_max:         6.4e+02
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   3.7e+02
+valid_min:         50.7
+valid_max:         638.4
+ok_min_mean_abs:   335
+ok_max_mean_abs:   366.1
 !----------------------------------
 !
 
@@ -930,10 +930,10 @@ dimensions:        longitude latitude time
 out_name:          rsds
 type:              real
 positive:          down
-valid_min:         -0.002
-valid_max:         5.1e+02
-ok_min_mean_abs:   1.5e+02
-ok_max_mean_abs:   1.8e+02
+valid_min:         -0.001964
+valid_max:         511.9
+ok_min_mean_abs:   147.9
+ok_max_mean_abs:   177.6
 !----------------------------------
 !
 
@@ -956,10 +956,10 @@ dimensions:        longitude latitude time
 out_name:          rsus
 type:              real
 positive:          up
-valid_min:         -0.0057
-valid_max:         4.1e+02
-ok_min_mean_abs:   28
-ok_max_mean_abs:   42
+valid_min:         -0.005695
+valid_max:         411.7
+ok_min_mean_abs:   28.03
+ok_max_mean_abs:   41.97
 !----------------------------------
 !
 
@@ -983,10 +983,10 @@ dimensions:        longitude latitude time
 out_name:          rlut
 type:              real
 positive:          up
-valid_min:         73
-valid_max:         3.8e+02
-ok_min_mean_abs:   2.2e+02
-ok_max_mean_abs:   2.3e+02
+valid_min:         73.04
+valid_max:         376.2
+ok_min_mean_abs:   215.5
+ok_max_mean_abs:   226.1
 !----------------------------------
 !
 
@@ -1009,10 +1009,10 @@ comment:           "Report on ocean's grid.  Report as ""missing"" in regions fr
 dimensions:        longitude latitude time
 out_name:          usi
 type:              real
-valid_min:         -1.3
-valid_max:         1.4
-ok_min_mean_abs:   -0.023
-ok_max_mean_abs:   0.085
+valid_min:         -1.284
+valid_max:         1.42
+ok_min_mean_abs:   -0.02307
+ok_max_mean_abs:   0.08539
 !----------------------------------
 !
 
@@ -1035,10 +1035,10 @@ comment:           "Report on ocean's grid.  Report as ""missing"" in regions fr
 dimensions:        longitude latitude time
 out_name:          vsi
 type:              real
-valid_min:         -1.8
-valid_max:         1.9
-ok_min_mean_abs:   -0.018
-ok_max_mean_abs:   0.067
+valid_min:         -1.805
+valid_max:         1.901
+ok_min_mean_abs:   -0.01764
+ok_max_mean_abs:   0.06675
 !----------------------------------
 !
 
@@ -1062,9 +1062,9 @@ dimensions:        longitude latitude time
 out_name:          sic
 type:              real
 valid_min:         -0.00015
-valid_max:         1.4e+02
-ok_min_mean_abs:   -8.8
-ok_max_mean_abs:   32
+valid_max:         144.1
+ok_min_mean_abs:   -8.827
+ok_max_mean_abs:   32.15
 !----------------------------------
 !
 
@@ -1087,10 +1087,10 @@ comment:           Report on ocean's grid.  Compute the mean thickness of sea ic
 dimensions:        longitude latitude time
 out_name:          sit
 type:              real
-valid_min:         -0.0045
-valid_max:         91
-ok_min_mean_abs:   -0.56
-ok_max_mean_abs:   2.2
+valid_min:         -0.004466
+valid_max:         90.6
+ok_min_mean_abs:   -0.5643
+ok_max_mean_abs:   2.225
 !----------------------------------
 !
 
@@ -1112,10 +1112,10 @@ long_name:         Air Temperature
 dimensions:        longitude latitude plev8 time
 out_name:          ta
 type:              real
-valid_min:         1.6e+02
-valid_max:         3.2e+02
-ok_min_mean_abs:   2e+02
-ok_max_mean_abs:   2.9e+02
+valid_min:         160.7
+valid_max:         324.4
+ok_min_mean_abs:   201.7
+ok_max_mean_abs:   288.4
 !----------------------------------
 !
 
@@ -1138,10 +1138,10 @@ comment:           This is the relative humidity with respect to liquid water fo
 dimensions:        longitude latitude plev8 time
 out_name:          hur
 type:              real
-valid_min:         -1.8
-valid_max:         1.3e+02
-ok_min_mean_abs:   -6.8
-ok_max_mean_abs:   94
+valid_min:         -1.762
+valid_max:         126.1
+ok_min_mean_abs:   -6.834
+ok_max_mean_abs:   93.53
 !----------------------------------
 !
 
@@ -1163,10 +1163,10 @@ long_name:         Specific Humidity
 dimensions:        longitude latitude plev8 time
 out_name:          hus
 type:              real
-valid_min:         -0.00029
-valid_max:         0.028
-ok_min_mean_abs:   -0.00024
-ok_max_mean_abs:   0.01
+valid_min:         -0.0002854
+valid_max:         0.02777
+ok_min_mean_abs:   -0.0002359
+ok_max_mean_abs:   0.01015
 !----------------------------------
 !
 
@@ -1189,10 +1189,10 @@ comment:           commonly referred to as ""omega"", this represents the vertic
 dimensions:        longitude latitude plev8 time
 out_name:          wap
 type:              real
-valid_min:         -1.1
+valid_min:         -1.055
 valid_max:         2.2
-ok_min_mean_abs:   -0.0033
-ok_max_mean_abs:   0.041
+ok_min_mean_abs:   -0.003335
+ok_max_mean_abs:   0.04081
 !----------------------------------
 !
 
@@ -1214,10 +1214,10 @@ long_name:         Northward Wind
 dimensions:        longitude latitude plev8 time
 out_name:          va
 type:              real
-valid_min:         -68
-valid_max:         67
-ok_min_mean_abs:   1.2
-ok_max_mean_abs:   4.5
+valid_min:         -67.77
+valid_max:         66.74
+ok_min_mean_abs:   1.175
+ok_max_mean_abs:   4.492
 !----------------------------------
 !
 
@@ -1239,10 +1239,10 @@ long_name:         Eastward Wind
 dimensions:        longitude latitude plev8 time
 out_name:          ua
 type:              real
-valid_min:         -65
-valid_max:         1.3e+02
-ok_min_mean_abs:   1.8
-ok_max_mean_abs:   22
+valid_min:         -65.36
+valid_max:         132.2
+ok_min_mean_abs:   1.833
+ok_max_mean_abs:   21.69
 !----------------------------------
 !
 
@@ -1264,10 +1264,10 @@ long_name:         Geopotential Height
 dimensions:        longitude latitude plev8 time
 out_name:          zg
 type:              real
-valid_min:         -5.7e+02
-valid_max:         3.3e+04
-ok_min_mean_abs:   -40
-ok_max_mean_abs:   3.2e+04
+valid_min:         -574.3
+valid_max:         3.295e+04
+ok_min_mean_abs:   -39.68
+ok_max_mean_abs:   3.157e+04
 !----------------------------------
 !
 
diff --git a/Tables/CMIP5_fx b/Tables/CMIP5_fx
index eecdb01..3e86bc0 100644
--- a/Tables/CMIP5_fx
+++ b/Tables/CMIP5_fx
@@ -6,7 +6,7 @@ frequency: fx
 cmor_version: 2.0         ! version of CMOR that can read this table
 cf_version:   1.4         ! version of CF that output conforms to
 project_id:   CMIP5  ! project id
-table_date:   28 May 2010 ! date this table was constructed
+table_date:   01 June 2010 ! date this table was constructed
 
 missing_value: 1.e20      ! value used to indicate a missing value
                           !   in arrays output by netCDF as 32-bit IEEE 
@@ -452,8 +452,8 @@ out_name:          orog
 type:              real
 valid_min:         -700.0
 valid_max:         10000.0
-ok_min_mean_abs:   3.4e+02
-ok_max_mean_abs:   4.2e+02
+ok_min_mean_abs:   339
+ok_max_mean_abs:   420.3
 !----------------------------------
 !
 
@@ -476,8 +476,8 @@ out_name:          sftlf
 type:              real
 valid_min:         0.0
 valid_max:         100.0
-ok_min_mean_abs:   31
-ok_max_mean_abs:   36
+ok_min_mean_abs:   31.25
+ok_max_mean_abs:   36.39
 !----------------------------------
 !
 
@@ -501,8 +501,8 @@ out_name:          sftgif
 type:              real
 valid_min:         0.0
 valid_max:         100.0
-ok_min_mean_abs:   8.1
-ok_max_mean_abs:   14
+ok_min_mean_abs:   8.119
+ok_max_mean_abs:   14.14
 !----------------------------------
 !
 
@@ -524,10 +524,10 @@ comment:           """where land"": divide the total water holding capacity of a
 dimensions:        longitude latitude
 out_name:          mrsofc
 type:              real
-valid_min:         -35
-valid_max:         4.3e+03
-ok_min_mean_abs:   -5.2e+02
-ok_max_mean_abs:   1.9e+03
+valid_min:         -35.1
+valid_max:         4306
+ok_min_mean_abs:   -519.1
+ok_max_mean_abs:   1874
 !----------------------------------
 !
 
@@ -551,8 +551,8 @@ out_name:          rootd
 type:              real
 valid_min:         0.0
 valid_max:         30.0
-ok_min_mean_abs:   2
-ok_max_mean_abs:   2
+ok_min_mean_abs:   1.98
+ok_max_mean_abs:   2.02
 !----------------------------------
 !
 
diff --git a/Tables/md5s b/Tables/md5s
index f26b9e1..13254a9 100644
--- a/Tables/md5s
+++ b/Tables/md5s
@@ -1 +1 @@
-{'CMIP5': {'cf3hr': {'12 March 2010': 'ae9a82f01824d9012aa0657cd7896a9a', '11 May 2010': 'a59ca1270ff3036d417a7f2217598266', '02 April 2010': '3394448440a54597570cc877dcbaca7d', '22 March 2010': '712cd14ab6a28116da828ff555e00c4d', '26 April 2010': 'b0d0de6ac8d5ef997347610ea6a51d6d', '24 May 2010': '61693a46b06627dcd6ffe8ceff288ef0', '12 May 2010': '905f7ccdd5a31cb71e2a6e3b339cd0e1', '29 April 2010': 'fdc4fb38dd4cfb7f066329ed43a9e805', '28 May 2010': 'f6e966842fed498f0921365983918119'}, ' [...]
\ No newline at end of file
+{'CMIP5': {'cfSites': {'12 March 2010': '192f07ba869af3794494ea0dc3a72a54', '11 May 2010': '80506c07ed63befd33f9f727b78bde55', '24 May 2010': 'bf9e8c5576fd70aa92d11fe3d4317e9b', '22 March 2010': 'fe60fd7cfbaccc08c75a91dc67a68b99', '12 May 2010': '0ebecf85ba30b2223360a29ece880be4', '28 May 2010': '7eea57df7c12c4d8524da28aa78fbe94', '01 June 2010': '2eb2e9a6a1db0e18dac73e04e0dfbe47', '02 April 2010': '650c6032a9cbeedb142a41b923e85f22', '26 April 2010': '6fe91d86689e2fa1faa2fe7164876ace', ' [...]
\ No newline at end of file
diff --git a/Test/ipcc_test_code.c b/Test/ipcc_test_code.c
index c33ef96..4b60b86 100644
--- a/Test/ipcc_test_code.c
+++ b/Test/ipcc_test_code.c
@@ -60,70 +60,7 @@ void read_time(it, time, time_bnds)
 
 }
   
-void read_3d_input_files(it, varname, field,n0,n1,n2)
-     int it,n0,n1,n2;
-     char *varname;
-     double field[];
-{
-  int i,j,k;
-  float factor,offset;
-    
-  if (strcmp(varname,"CLOUD")==0) {
-    factor = 0.1;
-    offset = -50.;
-  }
-  else if (strcmp(varname,"U")==0) {
-    factor = 1.;
-    offset = 100.;
-  }
-  else if (strcmp(varname,"T")==0) {
-    factor = 0.5;
-    offset = -150.;
-  }
-    
-  for (k=0;k<n2;k++) {
-    for (j=0;j<n1;j++) {
-      for (i=0;i<n0;i++) {
-        field[k*(n0*n1)+j*n0+i] = (k*64 + j*16 + i*4 + it)*factor - offset;
-      }
-    }
-  }
-}
-
-void read_2d_input_files(it, varname, field, n0, n1)
-  int it,n0,n1;
-  char *varname;
-  double field[];
-{    
-  int i, j,k;
-  double factor, offset;
-  double tmp;
-  
-  if (strcmp(varname,"LATENT")==0){
-    factor = 1.;
-    offset = 120.;
-  }
-  else if (strcmp(varname,"TSURF")==0){
-    factor = 2.0;
-    offset = -230.;
-  }
-  else if (strcmp(varname,"SOIL_WET")==0){
-    factor = 10.;
-    offset = 0.;
-  }
-  else if (strcmp(varname,"PSURF")==0){
-    factor = 1.;
-    offset = -9.7e2;
-  }
-
-  for (j=0;j<n0;j++){
-    for (i=0;i<n1;i++) {
-      tmp = ((double)j*16. + (double)(i)*4. + (double)it)*factor - offset;
-      k= (n0-1-j)*n1+i;
-      field[k] = tmp;
-    }
-  }
-}
+#include "reader_2D_3D.h"
 
 int main()
      /*
@@ -431,13 +368,14 @@ int main()
     printf("3d zfactor\n");
     read_3d_input_files(i, varin3d[0], &data3d,5,lat,lon);
     ierr = cmor_write(myvars[2],&data3d,'d',NULL,1,NULL,NULL,NULL);
+
     printf("writing ps\n");
     read_2d_input_files(i, varin2d[3], &data2d,lat,lon);
     ierr = cmor_write(myvars[3],&data2d,'d',NULL,1,NULL,NULL,&myvars[2]);
 
     /* rereading hfls to fake hfogo */
     printf("2d region\n");
-    read_2d_input_files(i, varin2d[0], &data2d,lat,lon);
+    read_2d_input_files(i, "htov", &data2d,lat,lon);
     ierr = cmor_write(myvars[4],&data2d,'d',NULL,1,NULL,NULL,NULL);
   }
   ierr = cmor_close_variable(myvars[0],NULL,NULL);
diff --git a/Test/ipcc_test_code.f90 b/Test/ipcc_test_code.f90
index 1a6e19f..a8a0d00 100644
--- a/Test/ipcc_test_code.f90
+++ b/Test/ipcc_test_code.f90
@@ -57,77 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.0
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
@@ -248,7 +178,7 @@ PROGRAM ipcc_test_code
   INTEGER :: ilon, ilat, ipres, ilev, itim, itim2, ilon2,ilat2
   DOUBLE PRECISION bt
 
-  character(256)::  outpath
+  character(256)::  outpath,mycal
   
   !  Other variables:
   !  ---------------------
@@ -285,6 +215,8 @@ PROGRAM ipcc_test_code
   !   experiment conditions, and provide information to be included as 
   !   attributes in all CF-netCDF files written as part of this dataset.
 
+  mycal = '360_day'
+
   error_flag = cmor_dataset(                                   &
        outpath='Test',                                         &
        experiment_id='abrupt 4XCO2',           &
@@ -295,7 +227,7 @@ PROGRAM ipcc_test_code
        'atmosphere:  GICAM3 (gicam_0_brnchT_itea_2, T63L32); '// &
        'ocean: MOM (mom3_ver_3.5.2, 2x3L15); '             //  &
        'sea ice: GISIM4; land: GILSM2.5',                      &
-       calendar='360_day',                                      &
+       calendar=mycal,                                      &
        realization=1,                                          &
        history='Output from archive/giccm_03_std_2xCO2_2256.', &
        institute_id = 'PCMDI', &
diff --git a/Test/karls_test.f90 b/Test/karls_test.f90
index 7b3748c..6208bf2 100644
--- a/Test/karls_test.f90
+++ b/Test/karls_test.f90
@@ -64,83 +64,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    IMPLICIT NONE
-
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field) 
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j, ii
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.0
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       ii = 0
-       DO i=1,SIZE(field, 1)
-          ii = ii + 1
-          if (ii>size(field,1)) ii = 1
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (ii-1)*4 + it)*factor - offset
-!!$          field(size(field,1)+1-i,size(field,2)+1-j) = ((j-1)*16 + (ii-1)*4 + it)*factor - offset
-!          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-!          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/main_prog.f90 b/Test/main_prog.f90
index 21f491e..f2e1618 100644
--- a/Test/main_prog.f90
+++ b/Test/main_prog.f90
@@ -57,64 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/reader_2D_3D.f90 b/Test/reader_2D_3D.f90
new file mode 100644
index 0000000..a456049
--- /dev/null
+++ b/Test/reader_2D_3D.f90
@@ -0,0 +1,133 @@
+  SUBROUTINE read_3d_input_files(it, varname, field)
+
+    IMPLICIT NONE
+    
+    INTEGER, INTENT(IN) :: it
+    CHARACTER(len=*), INTENT(IN) :: varname
+    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
+    
+    INTEGER :: i, j, k
+    REAL :: factor, offset,min,max
+    CHARACTER(len=LEN(varname)) :: tmp
+    
+    min= -1.e20
+    max=1.e20
+    tmp = TRIM(ADJUSTL(varname))
+    SELECT CASE (tmp)
+    CASE ('CLOUD')  
+       factor = 0.02
+       offset = -20.
+    CASE ('U')  
+       factor = .075
+       offset = 45.
+       max=21
+       min=17
+    CASE ('T')
+       factor = 1.3
+       offset = -27.5
+       min=191.
+       max=240.
+    CASE ('tro3')
+       factor = 1.
+       offset = 0.
+    END SELECT
+    
+    DO k=1,SIZE(field, 3)
+       DO j=1,SIZE(field, 2)
+          DO i=1,SIZE(field, 1)
+             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
+             if (field(i,j,k).gt.max) field(i,j,k)=max
+             if (field(i,j,k).lt.min) field(i,j,k)=min
+          END DO
+       END DO
+    END DO
+    
+  END SUBROUTINE read_3d_input_files
+  
+  SUBROUTINE read_2d_input_files(it, varname, field)
+
+    IMPLICIT NONE
+    
+    INTEGER, INTENT(IN) :: it
+    CHARACTER(len=*), INTENT(IN) :: varname
+    REAL, INTENT(OUT), DIMENSION(:,:) :: field
+    
+    INTEGER :: i, j
+    REAL :: factor, offset,min,max
+    CHARACTER(len=LEN(varname)) :: tmp
+    
+    min= -1.e20
+    max=1.e20
+    tmp = TRIM(ADJUSTL(varname))
+    SELECT CASE (tmp)
+    CASE ('LATENT')  
+       
+       factor = 4.2
+       offset = 0.
+       min=-65
+       max=65
+    CASE ('TSURF')
+       factor = 2.0
+       offset = -230.
+       max=285
+       min=270
+    CASE ('SOIL_WET')
+       factor = 4.
+       offset = 0.
+       max = 128.
+    CASE ('PSURF')
+       factor = 100.
+       offset = -9.4e4
+    CASE ('PRECIP')
+       factor = 1.2e-6
+       offset = 0.
+       max = 1.e-3
+       min=0.
+    CASE ('SFTLF')
+       factor = 1.
+       offset = -12.
+       max = 100.
+       min=0.
+    END SELECT
+    
+    DO j=1,SIZE(field, 2)
+       DO i=1,SIZE(field, 1)
+          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
+             if (field(i,size(field,2)+1-j).gt.max) field(i,size(field,2)+1-j)=max
+             if (field(i,size(field,2)+1-j).lt.min) field(i,size(field,2)+1-j)=min
+       END DO
+    END DO
+
+  END SUBROUTINE read_2d_input_files
+  SUBROUTINE read_1d_input_files(it, varname, field) 
+
+    IMPLICIT NONE
+    
+    INTEGER, INTENT(IN) :: it
+    CHARACTER(len=*), INTENT(IN) :: varname
+    REAL, INTENT(OUT), DIMENSION(:,:) :: field
+    
+    INTEGER :: i, j
+    REAL :: factor, offset,min,max
+    CHARACTER(len=LEN(varname)) :: tmp
+    
+    min=-1.e20
+    max=1.e20
+    tmp = TRIM(ADJUSTL(varname))
+    SELECT CASE (tmp)
+    CASE ('OFLUX')  
+       factor = .5e14
+       offset = 2.e13
+       max = 1.492e14
+       min = 1.46e14
+    END SELECT
+    
+    DO j=1,SIZE(field, 2)
+       DO i=1,SIZE(field, 1)
+          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
+          if (field(i,j).gt.max) field(i,j)=max
+          if (field(i,j).lt.min) field(i,j)=min
+       END DO
+    END DO
+
+  END SUBROUTINE read_1d_input_files
diff --git a/Test/reader_2D_3D.h b/Test/reader_2D_3D.h
new file mode 100644
index 0000000..a7c5adb
--- /dev/null
+++ b/Test/reader_2D_3D.h
@@ -0,0 +1,85 @@
+void read_3d_input_files(it, varname, field,n0,n1,n2)
+     int it,n0,n1,n2;
+     char *varname;
+     double field[];
+{
+  int i,j,k;
+  float factor,offset,max,min;
+  min=-1.e20;
+  max=1.e20;
+   
+  if (strcmp(varname,"CLOUD")==0) {
+    factor = 0.02;
+    offset = -20.;
+  }
+  else if (strcmp(varname,"U")==0) {
+    factor = .08;
+    offset = 45.;
+  }
+  else if (strcmp(varname,"T")==0) {
+    factor = 1.2;
+    offset = -25.;
+    min=161.;
+    max=320.;
+  }
+    
+  for (k=0;k<n2;k++) {
+    for (j=0;j<n1;j++) {
+      for (i=0;i<n0;i++) {
+        field[k*(n0*n1)+j*n0+i] = (k*64 + j*16 + i*4 + it)*factor - offset;
+	if (field[k*(n0*n1)+j*n0+i]<min) field[k*(n0*n1)+j*n0+i]=min;
+	if (field[k*(n0*n1)+j*n0+i]>max) field[k*(n0*n1)+j*n0+i]=max;
+      }
+    }
+  }
+}
+
+void read_2d_input_files(it, varname, field, n0, n1)
+  int it,n0,n1;
+  char *varname;
+  double field[];
+{    
+  int i, j,k;
+  double factor, offset,min,max;
+  double tmp;
+  
+  min=-1.e20;
+  max=1.e20;
+
+  if (strcmp(varname,"LATENT")==0){
+    factor = 5.;
+    offset = 0.;
+    min=-65;
+    max=65.;
+  }
+  else if (strcmp(varname,"TSURF")==0){
+    factor = 2.1;
+    offset = -230.;
+    max=320.;
+  }
+  else if (strcmp(varname,"SOIL_WET")==0){
+    factor = 4.;
+    offset = 0.;
+    max=130.;
+  }
+  else if (strcmp(varname,"PSURF")==0){
+    factor = 1.;
+    offset = -9.4e2;
+  }
+  else if (strcmp(varname,"htov")==0){
+    factor = .5e14;
+    offset = 2.e13;
+    max = 1.492e14;
+    min = 1.46e14;
+  }
+
+  for (j=0;j<n0;j++){
+    for (i=0;i<n1;i++) {
+      tmp = ((double)j*16. + (double)(i)*4. + (double)it)*factor - offset;
+      k= (n0-1-j)*n1+i;
+      field[k] = tmp;
+      if (field[k]<min) field[k]=min;
+      if (field[k]>max) field[k]=max;
+    }
+  }
+}
diff --git a/Test/rewrite_harvardf_data.f90 b/Test/rewrite_harvardf_data.f90
index 7257596..ddb8148 100644
--- a/Test/rewrite_harvardf_data.f90
+++ b/Test/rewrite_harvardf_data.f90
@@ -117,7 +117,7 @@ USE cmor_users_functions
       print *, 'Writing CMOR output ...',shape(x)
       ierrorflag = cmor_write(                                 &
                       var_id    = ivarb,                       &
-                      data      = x(:,1,1))
+                      data      = x(:,1,1)+2.5)
 
       print *, 'Closing file(s) created by CMOR ...'
       ierrorflag = cmor_close()
diff --git a/Test/test1.f90 b/Test/test1.f90
index b16a804..d5c5068 100644
--- a/Test/test1.f90
+++ b/Test/test1.f90
@@ -56,64 +56,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 1)
-       DO j=1,SIZE(field, 3)
-          DO i=1,SIZE(field, 2)
-             field(k,i,j) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 1)
-       DO i=1,SIZE(field, 2)
-          field(j,i) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test2.f90 b/Test/test2.f90
index afc54cb..be80c40 100644
--- a/Test/test2.f90
+++ b/Test/test2.f90
@@ -58,66 +58,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k, irev
-    REAL :: factor, offset
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 1)
-       DO j=1,SIZE(field, 3)
-          DO i=1,SIZE(field, 2)
-             irev = SIZE(field, 2) + 1 - i
-             field(k,irev,j) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j, irev
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 1)
-       DO i=1,SIZE(field, 2)
-          irev = SIZE(field, 2) + 1 - i
-          field(j,irev) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test3.f90 b/Test/test3.f90
index fa38ae0..59b8791 100644
--- a/Test/test3.f90
+++ b/Test/test3.f90
@@ -60,70 +60,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k, irev, ioff
-    REAL :: factor, offset
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 1)
-       DO j=1,SIZE(field, 3)
-          DO i=1,SIZE(field, 2)
-             irev = SIZE(field, 2) + 1 - i
-             ioff = irev + 2
-             IF (ioff > SIZE(field,2)) ioff = ioff - SIZE(field,2)
-             field(k,ioff,j) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j, irev, ioff
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 1)
-       DO i=1,SIZE(field, 2)
-          irev = SIZE(field, 2) + 1 - i
-          ioff = irev + 2
-          IF (ioff > SIZE(field,2)) ioff = ioff - SIZE(field,2)
-         field(j,ioff) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test4.f90 b/Test/test4.f90
index bc32fa6..be61379 100644
--- a/Test/test4.f90
+++ b/Test/test4.f90
@@ -57,65 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-             if (TRIM(ADJUSTL(varname)).eq.'T') field(i,j,k) = field(i,j,k)*1.8 - 459.67
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
@@ -217,6 +159,7 @@ PROGRAM mip_contribution
   DOUBLE PRECISION, DIMENSION(lat) :: alats
   DOUBLE PRECISION, DIMENSION(lon) :: alons
   DOUBLE PRECISION, DIMENSION(lev) :: plevs
+  DOUBLE PRECISION, DIMENSION(lev*lon*lat) :: mydata
   DOUBLE PRECISION :: time,bt
   DOUBLE PRECISION, DIMENSION(2):: bnds_time
   DOUBLE PRECISION, DIMENSION(2,lat) :: bnds_lat
@@ -228,10 +171,14 @@ PROGRAM mip_contribution
   !  Other variables:
   !  ---------------------
   
-  INTEGER :: it, m
+  INTEGER :: it, m,i
   
   character(256) outputpath
 
+  real mymax,mytmp
+
+  mymax=0.
+
   bt=0.
   ! ================================
   !  Execution begins here:
@@ -371,6 +318,7 @@ print*, 'finished defining 2-d axes'
           missing_value=1.0e20,       &
           positive=positive3d(m),     &
           original_name=varin3d(m))
+     print*, m,'varind',varin3d(m),var3d_ids(m)
   ENDDO
   
 
@@ -434,6 +382,7 @@ print*, 'completed everything up to writing output fields '
         ! that will be passed to CMOR.  The following line is simply a
         ! a place-holder for the user's code, which should replace it.
 
+       print*, 'Calling',m,'varind:',varin3d(m),var3d_ids(m)
         call read_3d_input_files(it, varin3d(m), data3d)
 
        
@@ -441,8 +390,15 @@ print*, 'completed everything up to writing output fields '
         ! the appropriate netCDF file.
         call cmor_create_output_path(var3d_ids(m),outputpath)
         print*, 'Test Code: we are dumping this varialbe ',var3d_ids(m),'to:',outputpath
+        mydata = RESHAPE(data3d, (/ lat*lon*lev /))
+        if (m.eq.2) then
+           do i=1,lat*lon*lev
+              mydata(i)=(mydata(i)-273.15)*9./5.+32.
+           enddo
+        endif
+        print*,'Done converting units for',m
         error_flag = cmor_write(var_id =        var3d_ids(m),   &
-                                data =          RESHAPE(data3d, (/ lat*lon*lev /)),          &
+                                data =          mydata, &
                                 ntimes_passed = 1,              &
                                 time_vals =     (/ time /),           &
                                 time_bnds =     RESHAPE(bnds_time, (/ 2,1 /)))
@@ -484,7 +440,7 @@ print*, '    error flag = ', error_flag
                                 time_vals =     (/ time /),           &
                                 time_bnds =     RESHAPE(bnds_time, (/ 2,1 /)))
         
-print*, 'after writing variable, ', var2d_ids(m)
+print*, 'after writing variable 2d, ', var2d_ids(m)
 print*, '    error flag = ', error_flag
        IF (error_flag < 0) THEN
            ! write diagnostic messages to standard output device
diff --git a/Test/test_3h.f90 b/Test/test_3h.f90
index f3e8492..477abc9 100644
--- a/Test/test_3h.f90
+++ b/Test/test_3h.f90
@@ -56,78 +56,8 @@ CONTAINS
     
     RETURN
   END SUBROUTINE read_time
-  
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 3.2
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
 
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
@@ -209,7 +139,7 @@ PROGRAM ipcc_test_code
 
                                 ! My variable names for IPCC Table A1a fields
   CHARACTER (LEN=8), DIMENSION(n2d) :: &
-                  varin2d=(/ 'LATENT  ','PSURF   ', 'TSURF   ' /)
+                  varin2d=(/ 'LATENT  ','PRECIP  ', 'TSURF   ' /)
 
                                 ! Units appropriate to my data
    CHARACTER (LEN=10), DIMENSION(n2d) :: &
diff --git a/Test/test_dimensionless.f90 b/Test/test_dimensionless.f90
index 46d7bfa..276b4f1 100644
--- a/Test/test_dimensionless.f90
+++ b/Test/test_dimensionless.f90
@@ -57,76 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    CASE ('tro3')
-       factor = 1.
-       offset = 0.
-    END SELECT
-    
-    DO k=1,SIZE(field, 1)
-       DO j=1,SIZE(field, 3)
-          DO i=1,SIZE(field, 2)
-             field(k,i,j) = ((SIZE(field, 1) - k)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 2.8
-       offset = 10.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+INCLUDE "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_fortran_example_00.f90 b/Test/test_fortran_example_00.f90
index 3c9daf5..35301ad 100644
--- a/Test/test_fortran_example_00.f90
+++ b/Test/test_fortran_example_00.f90
@@ -55,77 +55,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.0
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_fortran_example_01.f90 b/Test/test_fortran_example_01.f90
index d8e6af5..d3672cf 100644
--- a/Test/test_fortran_example_01.f90
+++ b/Test/test_fortran_example_01.f90
@@ -51,77 +51,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.0
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_grid.c b/Test/test_grid.c
index 5d77b9d..63d17ce 100644
--- a/Test/test_grid.c
+++ b/Test/test_grid.c
@@ -20,70 +20,7 @@ void read_time(it, time, time_bnds)
 
 }
   
-void read_3d_input_files(it, varname, field,n0,n1,n2)
-     int it,n0,n1,n2;
-     char *varname;
-     double field[];
-{
-  int i,j,k;
-  float factor,offset;
-    
-  if (strcmp(varname,"CLOUD")==0) {
-    factor = 0.1;
-    offset = -50.;
-  }
-  else if (strcmp(varname,"U")==0) {
-    factor = 1.;
-    offset = 100.;
-  }
-  else if (strcmp(varname,"T")==0) {
-    factor = 0.5;
-    offset = -150.;
-  }
-    
-  for (k=0;k<n2;k++) {
-    for (j=0;j<n1;j++) {
-      for (i=0;i<n0;i++) {
-        field[k*(n0*n1)+j*n0+i] = (k*64 + j*16 + i*4 + it)*factor - offset;
-      }
-    }
-  }
-}
-
-void read_2d_input_files(it, varname, field, n0, n1)
-  int it,n0,n1;
-  char *varname;
-  double field[];
-{    
-  int i, j,k;
-  double factor, offset;
-  double tmp;
-  
-  if (strcmp(varname,"LATENT")==0){
-    factor = 1.;
-    offset = 120.;
-  }
-  else if (strcmp(varname,"TSURF")==0){
-    factor = 2.0;
-    offset = -230.;
-  }
-  else if (strcmp(varname,"SOIL_WET")==0){
-    factor = 10.;
-    offset = 0.;
-  }
-  else if (strcmp(varname,"PSURF")==0){
-    factor = 1.;
-    offset = -9.7e2;
-  }
-
-  for (j=0;j<n0;j++){
-    for (i=0;i<n1;i++) {
-      tmp = ((double)j*16. + (double)(i)*4. + (double)it)*factor - offset;
-      k= (n0-1-j)*n1+i;
-      field[k] = tmp;
-    }
-  }
-}
+#include "reader_2D_3D.h"
 
 int main()
 {
diff --git a/Test/test_region.f90 b/Test/test_region.f90
index 37cb123..0a8edbe 100644
--- a/Test/test_region.f90
+++ b/Test/test_region.f90
@@ -41,32 +41,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_1d_input_files(it, varname, field) 
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('OFLUX')  
-       factor = 1.e14
-       offset = 20.e14
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_1d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_shrt_exp_nm_set_att_initi.f90 b/Test/test_shrt_exp_nm_set_att_initi.f90
index ea7fba7..c5a2a3a 100644
--- a/Test/test_shrt_exp_nm_set_att_initi.f90
+++ b/Test/test_shrt_exp_nm_set_att_initi.f90
@@ -53,36 +53,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
     
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    
-    
-    SELECT CASE (TRIM(ADJUSTL(varname)))
-    CASE ('LATENT')  
-       
-       factor = 1.5
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    END SELECT
-    
-    DO j=1,SIZE(field, 1)
-       DO i=1,SIZE(field, 2)
-          field(j,i) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_sigma.f90 b/Test/test_sigma.f90
index 28bb057..933c159 100644
--- a/Test/test_sigma.f90
+++ b/Test/test_sigma.f90
@@ -57,76 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    CASE ('tro3')
-       factor = 1.
-       offset = 0.
-    END SELECT
-    
-    DO k=1,SIZE(field, 1)
-       DO j=1,SIZE(field, 3)
-          DO i=1,SIZE(field, 2)
-             field(k,i,j) = ((SIZE(field, 1) - k)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)                  
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 2.8
-       offset = 10.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
diff --git a/Test/test_singleton.f90 b/Test/test_singleton.f90
index 08945c6..d677ce6 100755
--- a/Test/test_singleton.f90
+++ b/Test/test_singleton.f90
@@ -57,78 +57,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.2
-       offset = 10.
-    CASE ('TSURF')
-       factor = 2.2
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
-
+include "reader_2D_3D.f90"
 END MODULE local_subs
 
 
diff --git a/Test/test_sophie.f90 b/Test/test_sophie.f90
index 94823e1..2356aa2 100644
--- a/Test/test_sophie.f90
+++ b/Test/test_sophie.f90
@@ -54,75 +54,7 @@ CONTAINS
    RETURN
  END SUBROUTINE read_time
 
- SUBROUTINE read_3d_input_files(it, varname, field)
-
-   IMPLICIT NONE
-
-   INTEGER, INTENT(IN) :: it
-   CHARACTER(len=*), INTENT(IN) :: varname
-   REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-
-   INTEGER :: i, j, k
-   REAL :: factor, offset
-   CHARACTER(len=LEN(varname)) :: tmp
-
-   tmp = TRIM(ADJUSTL(varname))
-   SELECT CASE (tmp)
-   CASE ('CLOUD')  
-      factor = 0.1
-      offset = -50.
-   CASE ('U')  
-      factor = 1.
-      offset = 100.
-   CASE ('T')
-      factor = 0.5
-      offset = -150.
-   END SELECT
-   DO k=1,SIZE(field, 3)
-      DO j=1,SIZE(field, 2)
-         DO i=1,SIZE(field, 1)
-            field(i,j,k) = ((k-1)*64. + (j-1)*16. + (i-1)*4. + it)*factor - offset
-         END DO
-      END DO
-   END DO
- END SUBROUTINE read_3d_input_files
-
- SUBROUTINE read_2d_input_files(it, varname, field)
-
-   IMPLICIT NONE
-
-   INTEGER, INTENT(IN) :: it
-   CHARACTER(len=*), INTENT(IN) :: varname
-   REAL, INTENT(OUT), DIMENSION(:,:) :: field
-
-   INTEGER :: i, j
-   REAL :: factor, offset
-   CHARACTER(len=LEN(varname)) :: tmp
-
-   tmp = TRIM(ADJUSTL(varname))
-   SELECT CASE (tmp)
-   CASE ('LATENT')  
-
-      factor = .001
-      offset = 0.
-   CASE ('TSURF')
-      factor = 2.0
-      offset = -220.
-   CASE ('SOIL_WET')
-      factor = 10.
-      offset = 0.
-   CASE ('PSURF')
-      factor = 100.
-      offset = -9.7e4
-   END SELECT
-
-   DO j=1,SIZE(field, 2)
-      DO i=1,SIZE(field, 1)
-         field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-      END DO
-   END DO
-
- END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 
@@ -155,7 +87,7 @@ program testing
                                ! My variable names for IPCC Table A1a fields
  CHARACTER (LEN=8), DIMENSION(n2d) :: &
 !                  varin2d=(/ 'LATENT  ', 'TSURF   ', 'SOIL_WET', 'PSURF   ' /)
-                 varin2d=(/ 'LATENT  ' /)
+                 varin2d=(/ 'SFTLF  ' /)
 
                                ! Units appropriate to my data
   CHARACTER (LEN=6), DIMENSION(n2d) :: &
diff --git a/Test/test_station_data.f90 b/Test/test_station_data.f90
index adc4e80..b967d59 100644
--- a/Test/test_station_data.f90
+++ b/Test/test_station_data.f90
@@ -68,79 +68,7 @@ CONTAINS
     RETURN
   END SUBROUTINE read_time
   
-  !------------------------------------------------
-  SUBROUTINE read_3d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:,:) :: field
-    
-    INTEGER :: i, j, k
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('CLOUD')  
-       factor = 0.1
-       offset = -50.
-    CASE ('U')  
-       factor = 1.
-       offset = 100.
-    CASE ('T')
-       factor = 0.5
-       offset = -150.
-    END SELECT
-    
-    DO k=1,SIZE(field, 3)
-       DO j=1,SIZE(field, 2)
-          DO i=1,SIZE(field, 1)
-             field(i,j,k) = ((k-1)*64 + (j-1)*16 + (i-1)*4 + it)*factor - offset
-          END DO
-       END DO
-    END DO
-    
-  END SUBROUTINE read_3d_input_files
-  
-  !------------------------------------------------
-  SUBROUTINE read_2d_input_files(it, varname, field)
-
-    IMPLICIT NONE
-    
-    INTEGER, INTENT(IN) :: it
-    CHARACTER(len=*), INTENT(IN) :: varname
-    REAL, INTENT(OUT), DIMENSION(:,:) :: field
-    
-    INTEGER :: i, j
-    REAL :: factor, offset
-    CHARACTER(len=LEN(varname)) :: tmp
-    
-    tmp = TRIM(ADJUSTL(varname))
-    SELECT CASE (tmp)
-    CASE ('LATENT')  
-       
-       factor = 1.
-       offset = 20.
-    CASE ('TSURF')
-       factor = 2.0
-       offset = -220.
-    CASE ('SOIL_WET')
-       factor = 10.
-       offset = 0.
-    CASE ('PSURF')
-       factor = 100.
-       offset = -9.7e4
-    END SELECT
-    
-    DO j=1,SIZE(field, 2)
-       DO i=1,SIZE(field, 1)
-          field(i,size(field,2)+1-j) = ((j-1)*16 + (i-1)*4 + it)*factor - offset
-       END DO
-    END DO
-
-  END SUBROUTINE read_2d_input_files
+include "reader_2D_3D.f90"
 
 END MODULE local_subs
 

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