function writeprc(outFilename, eu, crd, cfl, K, Lw, Es, Ed, Lu, lambda) % Brian Schlining % 01 Feb 2000 fid = fopen(outFilename, 'wt'); % Open the output file for writing if fid < 1 error(['Unable to open file ' outFilename]); end %========================== % Begin writing the header %========================== fprintf(fid, '/begin_header\n'); fprintf(fid, '/affiliations=Monterey_Bay_Aquarium_Research_Institute\n'); fprintf(fid, '/investigators=%s\n', crd.operatorName); fprintf(fid, '/experiment=%s\n', crd.cruiseId); fprintf(fid, '/cruise=%s\n', crd.cruiseId); fprintf(fid, '/contact=%s\n', 'www.mbari.org'); fprintf(fid, '/paramters=Lu,Ed,Lw,Kd\n'); [p outfile ext] = fileparts(outFilename); fprintf(fid, '/data_file_name=%s\n', [outfile ext]); [p filename ext] = fileparts(crd.src); fprintf(fid, '/original_file_name=%s.bin\n', filename); fprintf(fid, '/data_type=profile\n'); fprintf(fid, '/documents= N/A\n'); fprintf(fid, '/west_longitude=-999[DEG]\n'); fprintf(fid, '/east_longitude=-999[DEG]\n'); fprintf(fid, '/north_latitude=-999[DEG]\n'); fprintf(fid, '/south_latitude=-999[DEG]\n'); fprintf(fid, '/delimiter=space\n'); [yearMin monthMin dayMin hourMin minuteMin secondMin] = datevec(crd.firstTime); secondMin = round(secondMin); [yearMax monthMax dayMax hourMax minuteMax secondMax] = datevec(crd.endTime); secondMax = round(secondMax); fprintf(fid, '/start_date=%04i%02i%02i\n', yearMin, monthMin, dayMin); fprintf(fid, '/end_date=%04i%02i%02i\n', yearMax, monthMax, dayMax); fprintf(fid, '/start_time=%02i:%02i:%02i[GMT]\n', hourMin, minuteMin, secondMin); fprintf(fid, '/end_time=%02i:%02i:%02i[GMT]\n', hourMax, minuteMax, secondMax); fprintf(fid, '/calibration_files=%s%s,%s\n', filename, ext, cfl.src); fprintf(fid, '/station=%s\n', crd.location); fprintf(fid, '/missing=-999\n');fprintf(fid, '! Comments: Lw is calculated by fitting the equation, y = c(1)*exp(-lam(1)*z) + c(2)*exp(-lam(2)*z), to the Lu data.\n'); fprintf(fid, '! Comments: Location: %s\n', crd.location); fprintf(fid, '! Comments: lambda = ['); for i = 1:length(lambda)-1 fprintf(fid, '%3i ', lambda(i)); end fprintf(fid, '%3i] (nm)\n', lambda(end)); fprintf(fid, '! Comments: Lw(lambda) = ['); Lw(find(isnan(Lw))) = -999; for i = 1:length(Lw)-1 fprintf(fid, '%12.6f ', Lw(i)); end fprintf(fid, '%12.6f] (uW/cm^2/nm/str)\n', Lw(end)); n = length(cfl.info); for i = 1:n if i >= min(Es) & i <= max(Es) tmp = cfl.info(i).description; pos = findstr(tmp, 'd'); tmp(pos) = 's'; field{i} = tmp; else field{i} = cfl.info(i).description; end units{i} = cfl.info(i).units; end id = [Lu Ed]; for i = 1:length([Lu Ed]) n = n + 1; field{n} = ['K' cfl.info(id(i)).description]; units{n} = '1/m'; end fprintf(fid,'/fields='); for i = 1:length(field)-1 fprintf(fid, '%s,', deblank(field{i})); end fprintf(fid, '%s\n', deblank(field{end})); fprintf(fid,'/units='); for i = 1:length(units)-1 fprintf(fid, '%s,', units{i}); end fprintf(fid, '%s\n', units{end}); fprintf(fid,'/end_header@\n'); [r c] = size(eu); eu(find(isnan(eu))) = -999; K = K(:,[Ed Lu]); K(find(isnan(K))) = -999; [rK cK] = size(K); for i = 1:r for j = 1:c fprintf(fid, '%12.6f ', eu(i, j)); end for jK = 1:cK fprintf(fid, '%12.6f ', K(i, jK)); end fprintf(fid, '\n'); end fclose(fid);