Home > reduc > cbass_write_hdf.m

cbass_write_hdf

PURPOSE ^

SYNOPSIS ^

function status = cbass_write_hdf(filename,dataBundle,dummy1,dummy2,startTimeMJD,endTimeMJD,thisScanNumber,totalScans,batchStartMJD,batchEndMJD,sunbuffer,datatype)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SUBFUNCTIONS ^

SOURCE CODE ^

0001 function status = cbass_write_hdf(filename,dataBundle,dummy1,dummy2,startTimeMJD,endTimeMJD,thisScanNumber,totalScans,batchStartMJD,batchEndMJD,sunbuffer,datatype)
0002   n=1;
0003 filename = strcat(filename,'.hdf');
0004   disp('cbass_write_hdf:: Writing HDF5 file to:');
0005   disp(['cbass_write_hdf:: ',filename]);
0006 
0007 
0008 % First HDF write over-writes any existing file.  So we just use the raw call to h5write, no wrapper.
0009   hdf5write(filename, '/scan/MJD', dataBundle(:,n));
0010 
0011 
0012     writeHDFCol(filename,'/scan/RA',dataBundle(:,n)); n=n+1;
0013     writeHDFCol(filename,'/scan/DEC',dataBundle(:,n)); n=n+1;
0014     writeHDFCol(filename,'/scan/AZ',dataBundle(:,n)); n=n+1;
0015     writeHDFCol(filename,'/scan/EL',dataBundle(:,n)); n=n+1;
0016     writeHDFCol(filename,'/scan/LAT',dataBundle(:,n)); n=n+1;
0017     writeHDFCol(filename,'/scan/LON',dataBundle(:,n)); n=n+1;
0018     if (datatype==4)
0019         writeHDFCol(filename,'/scan/I',dataBundle(:,n)); n=n+1;
0020         writeHDFCol(filename,'/scan/Q',dataBundle(:,n)); n=n+1;
0021         writeHDFCol(filename,'/scan/U',dataBundle(:,n)); n=n+1;
0022         writeHDFCol(filename,'/scan/V',dataBundle(:,n)); n=n+1;
0023         variant=1;
0024     elseif (datatype==6)
0025         writeHDFCol(filename,'/scan/I1',dataBundle(:,n)); n=n+1;
0026         writeHDFCol(filename,'/scan/Q1',dataBundle(:,n)); n=n+1;
0027         writeHDFCol(filename,'/scan/U1',-dataBundle(:,n)); n=n+1;  %note minus sign!
0028         writeHDFCol(filename,'/scan/Q2',dataBundle(:,n)); n=n+1;
0029         writeHDFCol(filename,'/scan/U2',dataBundle(:,n)); n=n+1;
0030         writeHDFCol(filename,'/scan/I2',dataBundle(:,n)); n=n+1;
0031         variant=2;
0032        
0033     elseif (datatype==8)
0034         writeHDFCol(filename,'/scan/I1',dataBundle(:,n)); n=n+1;
0035         writeHDFCol(filename,'/scan/Q1',dataBundle(:,n)); n=n+1;
0036         writeHDFCol(filename,'/scan/U1',dataBundle(:,n)); n=n+1;
0037         writeHDFCol(filename,'/scan/Q2',dataBundle(:,n)); n=n+1;
0038         writeHDFCol(filename,'/scan/U2',dataBundle(:,n)); n=n+1;
0039         writeHDFCol(filename,'/scan/Q3',dataBundle(:,n)); n=n+1;
0040         writeHDFCol(filename,'/scan/U3',dataBundle(:,n)); n=n+1;
0041         writeHDFCol(filename,'/scan/V',dataBundle(:,n)); n=n+1;
0042         variant=1;
0043     end
0044     writeHDFCol(filename,'/scan/FLAG',dataBundle(:,n)); n=n+1;
0045     writeHDFCol(filename,'/scan/DAYFLAG',dataBundle(:,n)); n=n+1;
0046 
0047     northern = int32(1);
0048 
0049     
0050     writeScanHDFAttr(filename,'/scan/','START_MJD',startTimeMJD);
0051     writeScanHDFAttr(filename,'/scan/','END_MJD',endTimeMJD);
0052     writeScanHDFAttr(filename,'/scan/','SCAN_INDEX',int32(thisScanNumber));
0053     writeScanHDFAttr(filename,'/scan/','NSCAN',int32(totalScans));
0054     writeScanHDFAttr(filename,'/scan/','BATCH_START_MJD',batchStartMJD);
0055     writeScanHDFAttr(filename,'/scan/','BATCH_END_MJD',batchEndMJD);
0056     writeScanHDFAttr(filename,'/scan/','NORTHERN',northern);
0057     writeScanHDFAttr(filename,'/scan/','CBASSGEN',variant);
0058     
0059   
0060 
0061   
0062     status=0;
0063 return;
0064 end
0065   
0066 function writeScanHDFAttr(filename,path,name,value)
0067   attr_details.Name = name;
0068   attr_details.AttachedTo = path;
0069   attr_details.AttachType = 'group';
0070   hdf5write(filename, attr_details, value, 'WriteMode', 'append');
0071   return;
0072 end
0073   
0074 %
0075 % Alternative function for newer matlab
0076 % function writeScanHDFAttr(filename,name,value)
0077 % h5writeatt(filename,'/scan/',name,value);
0078 % return;
0079 % end
0080 %
0081 
0082 function writeHDFCol(filename,setname,col)
0083   hdf5write(filename, setname, col, 'WriteMode', 'append');
0084   return;
0085 end
0086       
0087 %function writeHDFCol(filename,setname,col)
0088 %    n=size(col,2);
0089 %    h5create(filename,setname,n);
0090 %    h5write(filename,setname,col);
0091 %    return;
0092 %end
0093

Generated on Sun 14-Jun-2015 17:12:45 by m2html © 2005