function newHandles = load_data(handles)

disp(['  Load ' handles.modis.select_name ' ...'])

if strcmp(handles.modis.select_name, 'Classification Mask')
  data = read2Matrix(handles.machineFormat, handles.modis.filename.cmask, ...
                     handles.modis.pixels_across, handles.modis.scanlines);
  ind = find(data < 0);
  data(ind) = NaN;
  data = data / 12;

elseif strcmp(handles.modis.select_name, 'MODIS Cloud Mask')
  data = read_mod35(handles.modis.filename.modis35);
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Total Precipitable Water')
  data = read2Matrix(handles.machineFormat, handles.modis.filename.tpw, ...
                     handles.modis.pixels_across, handles.modis.scanlines);

  ind = find(isinf(data) == 1);
  data(ind) = NaN;
  ind = find(data < 0);
  data(ind) = NaN;
  data = 10.0 * data;

elseif strcmp(handles.modis.select_name, 'Cloud Phase')
  data = read_mod06_var(handles.modis.filename.modis06, 'Cloud_Phase');

elseif strcmp(handles.modis.select_name, 'Cloud Top Pressure')
  data = read_mod06_var(handles.modis.filename.modis06, 'Cloud_Top_Pressure');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Water Path')
  data = read_mod06_var(handles.modis.filename.modis06, 'Water_Path');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Cloud Effective Emissivity')
  data = read_mod06_var(handles.modis.filename.modis06, 'Effective_Cloud_Emissivity');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Cloud Optical Thickness')
  data = read_mod06_var(handles.modis.filename.modis06, 'Cloud_Optical_Thickness');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Effective Particle Radius')
  data = read_mod06_var(handles.modis.filename.modis06, 'Effective_Particle_Radius');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Cirrus Reflectance')
  data = read_mod06_var(handles.modis.filename.modis06, 'Cirrus_Reflectance');
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Layered Cloud Mask')
  data = read2Matrix(handles.machineFormat, ...
                     handles.airs.filename.cmask_layer, ...
                     handles.airs.pixels_across, handles.airs.scanlines);
  % Mark the default value
  ind = find(data < 0);
  data(ind) = NaN;

elseif strcmp(handles.modis.select_name, 'Layered Cloud Phase')
  data = read2Matrix(handles.machineFormat, ...
                     handles.airs.filename.cphase_layer, ...
                     handles.airs.pixels_across, handles.airs.scanlines);
  % Mark the default value
  ind = find(data < 0);
  data(ind) = NaN;
end

handles.modis.data = data;
newHandles = handles;
