;reads the taxonomy average spectra and outputs a structure. function taxoread, taxoDATA ;--1--Read Bus-DeMeo Taxonomy Classes Spectra readfmt, taxoDATA, $ 'F4,1x,'+$ ;- Wavelengths 'F5,1x,F5,1x,F5,1x,F5,1x,'+ $ ;- A-B 'F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x', $ ;- C-Ch Classes wave, $ avgA, errA, $ avgB, errB, $ avgC, errC, $ avgCb, errCb, $ avgCg, errCg, $ avgCgh, errCgh, $ avgCh, errCh, $ /SILENT readfmt, taxoDATA, $ '89x,F5,1x,F5,1x,'+ $ 'F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,'+ $ 'F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x', $ avgD, errD, $ avgK, errK, $ avgL, errL, $ avgO, errO, $ avgQ, errQ, $ avgR, errR, $ avgS, errS, $ avgSa, errSa, $ avgSq, errSq, $ avgSr, errSr, $ avgSv, errSv, $ /SILENT readfmt, taxoDATA, $ '99x,99x,23x,F5,1x,F5,1x,F5,1x,F5,1x,'+ $ 'F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5,1x,F5', $ avgT, errT, $ avgV, errV, $ avgX, errX, $ avgXc, errXc, $ avgXe, errXe, $ avgXk, errXk, $ /SILENT ;set Cg, O, and R errors to 0.05 errCg *=0. & errCg += 0.05 errO *=0. & errO += 0.05 errR *=0. & errR += 0.05 ;--2--Organize the Spectra into a structure demeoTAXO= {class: ['A','B','C','Cb','Cg','Cgh','Ch','D','K','L','O','Q','R','S','Sa','Sq','Sr','Sv','T','V','X','Xc','Xe','Xk'],$ wave: wave, $ spec: transpose( [ [avgA], [avgB], [avgC], [avgCb], [avgCg], [avgCgh], [avgCh], $ [avgD], [avgK], [avgL], [avgO], [avgQ], [avgR], [avgS], $ [avgSa], [avgSq], [avgSr], [avgSv], [avgT], [avgV], $ [avgX], [avgXc], [avgXe], [avgXk] ] ), $ err: transpose( [ [errA], [errB], [errC], [errCb], [errCg], [errCgh], [errCh], $ [errD], [errK], [errL], [errO], [errQ], [errR], [errS], $ [errSa], [errSq], [errSr], [errSv], [errT], [errV], $ [errX], [errXc], [errXe], [errXk] ] ) } return, demeoTAXO end