function [time,sst,wind,vapor,cloud,rain] = read_amsr_day_v5(data_file) % [time,sst,wind,vapor,cloud,rain] = read_amsr_day_v5(data_file); % % this subroutine reads compressed of uncompressed RSS AMSR-E or AMSR-J daily byte maps % (version-5) % % input arguments: % data_file = the full path and name of the uncompressed data file % % the function returns these products: % time = time of observation in fractional hours GMT % sst = sea surface temperature in deg C % wind = wind speed in meters/second % vapor = atmospheric water vapor in millimeters % cloud = liquid cloud water in millimeters % rain = rain rate in millimeters/hour % % longitude is 0.25*xdim-0.125 % latitude is 0.25*ydim-90.125 % % For detailed data description, see % http://www.remss.com/amsr/amsr_data_description.html % % Remote Sensing Systems % support@remss.com % % error found and removed Jan 20, 2009 scale=[.1,.15,.2,.3,.01,.1]; offset=[0.,-3.0,0.,0.,0.,0.]; xdim=1440;ydim=720;tdim=2;numvar=6; mapsiz=xdim*ydim*tdim; if ~exist(data_file,'file') disp(['file not found: ', data_file]); time=[];sst=[];wind=[];vapor=[];cloud=[];rain=[]; return; end; if ~isempty(regexp(data_file,'.gz', 'once')) data_file=char(gunzip(data_file)); end fid=fopen(data_file,'rb'); data=fread(fid,mapsiz*numvar,'uint8'); fclose(fid); disp(data_file); map=reshape(data,[xdim ydim numvar tdim]); for i=1:numvar tmp=map(:,:,i,:); ia=find(tmp<=250);tmp(ia)=tmp(ia)*scale(i)+offset(i); map(:,:,i,:)=tmp; end; time = squeeze(map(:,:,1,:)); sst = squeeze(map(:,:,2,:)); wind = squeeze(map(:,:,3,:)); vapor = squeeze(map(:,:,4,:)); cloud = squeeze(map(:,:,5,:)); rain = squeeze(map(:,:,6,:)); return;