Index: /issm/trunk/src/m/contrib/musselman/read_netCDF_commit.py
===================================================================
--- /issm/trunk/src/m/contrib/musselman/read_netCDF_commit.py	(revision 27879)
+++ /issm/trunk/src/m/contrib/musselman/read_netCDF_commit.py	(revision 27880)
@@ -226,12 +226,15 @@
             try:
                 # this try block will only work on single ints/floats/doubles and will skip to the except block for all other cases
-                if FillValue == eval(location_of_variable_in_file + '[:][0]'):
+                var_to_save = eval(location_of_variable_in_file + '[:][0]')  # note the [0] on the end
+                if FillValue == var_to_save:
                     setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, [])
                 else:
-                    # we have to convert numpy datatypes to native python types with .item()
-                    var_to_save = eval(location_of_variable_in_file + '[:][0]')  # note the [0] on the end
-                    setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, var_to_save.item())
+                    if var_to_save.is_integer():
+                        setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, int(var_to_save))
+                    else:
+                        # we have to convert numpy datatypes to native python types with .item()
+                        setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, var_to_save.item())                        
             except:
-                    setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, eval(location_of_variable_in_file + '[:]'))
+                    setattr(eval('model_copy.' + location_of_variable_in_model), variable_name, eval(location_of_variable_in_file + '[:].item()'))
     except AttributeError:
         copy_variable_data_to_new_model_dict(location_of_variable_in_file, location_of_variable_in_model)
