pro netcdf_sdr_to_binary, infile, outfile ; William Johnston ; Computational Physics Inc ; For Naval Research Laboratory, Remote Sensing Division (Windsat) Code 7223 ; ; INFILE is a .sdr.nc file ; ; The output is a flat binary sdr file if n_elements(outfile) eq 0 then begin sdrtype=strmid(infile,strpos(infile,'.sdr')) sdrtype=strmid(sdrtype,0,strpos(sdrtype,'.nc')) outfile=strmid(infile,0,strpos(infile,'.sdr'))+sdrtype endif netcdf_reader, infile,infile+'.dat' restore,infile+'.dat' if n_elements(fore_rad068) eq 0 then begin fore_rad068 = 0.*fore_rad238 - 9999. aft_rad068 = 0.*aft_rad238 - 9999. fore_eia068 = 0.*fore_eia238 aft_eia068 = 0.*aft_eia238 fore_pra068 = 0.*fore_pra238 aft_pra068 = 0.*aft_pra238 endif sdrp_rec = {srad, jd:0.0d0, rad:fltarr(16), scanangle:0.0, pixlat:0.0, $ pixlon:0.0, eia:fltarr(5), pra:fltarr(5), caa:0.0, TbIDiffs:intarr(6), rlos_ned:fltarr(3), $ rsatecf:fltarr(3), eiaDiffs:intarr(6), scan:0L, spare4:0B, land2water:0B, water2land:0B, surf:0B, $ errflag:0L, dcnum:0L, glint:0L, spare1:0L, praDiffs:intarr(3), spare3:0 } w = where([fore_jd,aft_jd] gt 0,nw) sdr=replicate(sdrp_rec,nw) sdr.jd = ([fore_jd,aft_jd])[w] fore_rad = transpose([fore_rad068,fore_rad107,fore_rad187,fore_rad238,fore_rad370], [1,2,0]) aft_rad = transpose([aft_rad068,aft_rad107,aft_rad187,aft_rad238,aft_rad370], [1,2,0]) for i=0,15 do sdr.rad[i] = ([fore_rad[*,*,i],aft_rad[*,*,i]])[w] sdr.scanangle = ([fore_scanangle,aft_scanangle])[w] sdr.pixlat = ([fore_lat,aft_lat])[w] sdr.pixlon = ([fore_lon,aft_lon])[w] sdr.eia[0] = ([fore_eia068,aft_eia068])[w] sdr.eia[1] = ([fore_eia107,aft_eia107])[w] sdr.eia[2] = ([fore_eia187,aft_eia187])[w] sdr.eia[3] = ([fore_eia238,aft_eia238])[w] sdr.eia[4] = ([fore_eia370,aft_eia370])[w] sdr.pra[0] = ([fore_pra068,aft_pra068])[w] sdr.pra[1] = ([fore_pra107,aft_pra107])[w] sdr.pra[2] = ([fore_pra187,aft_pra187])[w] sdr.pra[3] = ([fore_pra238,aft_pra238])[w] sdr.pra[4] = ([fore_pra370,aft_pra370])[w] sdr.caa = ([fore_caa,aft_caa])[w] fore_rlos = transpose(fore_rlos,[1,2,0]) aft_rlos = transpose(aft_rlos,[1,2,0]) for i=0,2 do sdr.rlos_ned[i] = ([fore_rlos[*,*,i],aft_rlos[*,*,i]])[w] fore_rsat = transpose(fore_rsat,[1,2,0]) aft_rsat = transpose(aft_rsat,[1,2,0]) for i=0,2 do sdr.rsatecf[i] = ([fore_rsat[*,*,i],aft_rsat[*,*,i]])[w] sdr.scan = scan[w/121] sdr.land2water = ([fore_land2water,aft_land2water])[w] sdr.water2land =([fore_water2land,aft_water2land])[w] sdr.surf = ([fore_surface,aft_surface])[w] sdr.errflag = ([fore_sdr_qc_flags,aft_sdr_qc_flags])[w] sdr.dcnum = ([fore_downcount,aft_downcount])[w mod 121] openw,lun,outfile,/get_lun writeu,lun,sdr close,lun free_lun,lun end