dir= '/home/bcarry/work/mining/sdss/' readData = 0 withIDs = 1 withNum = 0 withDes = 01 withIss = 0 export = 1 if readData eq 1 then begin if withIDs eq 1 then moc = sdssReadMOC( dir+'ADR4_withID.dat', release=4 ) $ else moc = sdssReadMOC( dir+'ADR4.dat', release=4 ) dmc = sdssReadTaxonomy( dir+'alluniq.dat' ) nbDMC = n_elements(dmc) if withIDs eq 0 then begin withID = where( moc.ssoNum ne 0 or ~strcmp(moc.ssoName,'-',1), nbID ) sdssWriteMOC, moc[withID], dir+'ADR4_withID.dat' endif endif print, 'DeMeo-Carry taxonomy: ', nbDMC sel = 0L miss=intarr(nbDMC) wn = where( dmc.ssoNum ne 0, nWN, comp=wo, ncomp=nWO ) selN=0L selD=0L if withNum eq 1 then begin print, 'With number: ', nWN kFound=0L for k=0, nWN-1 do begin if (k mod 1000) eq 0 then print, k p=where( dmc[wn[k]].ssoNum eq moc.ssoNum ) if p[0] ne -1 then begin sel=[sel,[p]] selN=[selN,[p]] miss[wn[k]] = 1 kFound++ endif else begin name = dmc[wn[k]].ssoName if isnumeric(name) then strPut, name, "_", 4 p=where( strcmp(name, moc.ssoName) ) if p[0] ne -1 then begin sel=[sel,[p]] selN=[selN,[p]] miss[wn[k]] = 1 kFound++ endif else begin sdn = voSsODNet_resolver(dmc[wn[k]].ssoName,/Quiet) dimS = size(sdn) if dims[dims[0]+1] eq 8 then begin alias = *sdn.alias nbAlias= sdn.nbAlias for kA=0, nbAlias-1 do begin name = alias[kA] if isnumeric(name) then strPut, name, "_", 4 p=where( strcmp(name, moc.ssoName) ) if p[0] ne -1 then begin sel=[sel,[p]] selN=[selN,[p]] miss[wn[k]] = 1 kFound++ kA=nbAlias+1 endif endfor endif endelse endelse endfor print, 'Matched: ', kFound, 1.*kFound/nWN sdssWriteMOC, moc[selN[1:kFound]], dir+'ADR4_withNum.dat' endif if withDes eq 1 then begin print, 'Without number: ', nWO kFound=0L for k=0, nWO-1 do begin if (k mod 100) eq 0 then print, k name = dmc[wo[k]].ssoName if isnumeric(name) then strPut, name, "_", 4 p=where( strcmp(name, moc.ssoName) ) if p[0] ne -1 then begin sel=[sel,[p]] selD=[selD,[p]] miss[wo[k]] = 1 kFound++ endif else begin sdn = voSsODNet_resolver(dmc[wo[k]].ssoName,/Quiet) dimS = size(sdn) if dims[dims[0]+1] eq 8 then begin alias = *sdn.alias nbAlias= sdn.nbAlias for kA=0, nbAlias-1 do begin name = alias[kA] if isnumeric(name) then strPut, name, "_", 4 p=where( strcmp(name, moc.ssoName) ) if p[0] ne -1 then begin sel=[sel,[p]] selN=[selN,[p]] miss[wo[k]] = 1 kFound++ kA=nbAlias+1 endif endfor endif endelse endfor print, 'Matched: ', kFound, 1.*kFound/nWO sdssWriteMOC, moc[selD[1:kFound]], dir+'ADR4_withDes.dat' endif ; if withIss eq 1 then begin ; toSearch = where( miss eq 0, nbMiss) ; print, 'Missed: ', nbMiss ; kFound=0L ; for k=0, nbMiss-1 do begin ; ; ssodnet = voSsODNet_resolver(dmc[miss[toSearch[k]]].ssoName,/Quiet) ; dimS = size(ssodnet) ; ; if dims[dims[0]+1] eq 8 then begin ; ; alias = *ssodnet.alias ; nbAlias= ssodnet.nbAlias ; ; ; endif ; ; endfor ; ; endif if export eq 1 then begin moc1=sdssReadMOC( dir+'ADR4_withNum.dat', release=4) moc2=sdssReadMOC( dir+'ADR4_withDes.dat', release=4) moc =[moc1,moc2] forprint, moc.ssoNum, moc.ssoName, moc.mjd, moc.ra, moc.dec, moc.colU, moc.errU, $ moc.colG, moc.errG, moc.colR, moc.errR, $ moc.colI, moc.errI, moc.colZ, moc.errZ, $ FORMAT='(I6,",",A-22,",",D16.8,",",F8.4,",",F8.4,10(",",F7.3))', $ textout='SDSSMOC_training.csv', /Silent, $ comment='Num, Name, MJD, Ra, Dec, magU, uncU, magG, uncG, magR, uncR, magI, uncI, magZ, uncZ' forprint, moc.ssoNum, moc.ssoName, moc.mjd, moc.ra, moc.dec, $ moc.colU, moc.errU, $ moc.colG, moc.errG, moc.colR, moc.errR, $ moc.colI, moc.errI, moc.colZ, moc.errZ, $ moc.colU-moc.colG, sqrt( moc.errU^2 + moc.errG^2 ), $ moc.colU-moc.colR, sqrt( moc.errU^2 + moc.errR^2 ), $ moc.colU-moc.colI, sqrt( moc.errU^2 + moc.errI^2 ), $ moc.colU-moc.colZ, sqrt( moc.errU^2 + moc.errZ^2 ), $ moc.colG-moc.colR, sqrt( moc.errG^2 + moc.errR^2 ), $ moc.colG-moc.colI, sqrt( moc.errG^2 + moc.errI^2 ), $ moc.colG-moc.colZ, sqrt( moc.errG^2 + moc.errZ^2 ), $ moc.colR-moc.colI, sqrt( moc.errR^2 + moc.errI^2 ), $ moc.colR-moc.colZ, sqrt( moc.errR^2 + moc.errZ^2 ), $ moc.colI-moc.colZ, sqrt( moc.erri^2 + moc.errZ^2 ), $ FORMAT='(I6,",",A-22,",",D16.8,",",F8.4,",",F8.4,30(",",F7.3))', $ textout='SDSSMOC_colores.csv', /Silent, $ comment='Num, Name, MJD, Ra, Dec, magU, uncU, magG, uncG, magR, uncR, magI, uncI, magZ, uncZ, U-G, d(U-G), U-R, d(U-R), U-I, d(U-I), U-Z, d(U-Z), G-R, d(G-R), G-I, d(G-I), G-Z, d(G-Z), R-I, d(R-I), R-Z, d(R-Z), I-Z, d(I-Z)' endif end