I (dstn) decided to get some good stats about how hard it is to solve GALEX.

It turns out that GALEX releases the results of running SExtractor on their tile data, so I gathered these.

Results

Total number of fields: 7077.

NUV:

Run Fields Solved Fields Solved (%) Fields Unsolved Fields Unsolved (%)
109-1 7021 99.21 56 0.79
109-2 7064 99.82 13 0.18
109-3 7068 99.87 9 0.13
109-5 7069 99.89 8 0.11

Below here lie dragons of purely archival interest.


Data Gathering

I collected the data as follows:

  • Starting at http://galex.stsci.edu/GR2/Default.aspx?page=tilelist&survey=ais , I clicked the "Show All Tiles" button.
  • Clicked the "Tilenum" column header to sort the tiles by tile number.
  • Went through all 71 pages and did "Save As...", naming the files galex01.html through galex71.html; these are in raid2/GALEX_FIELDS/html.
  • Ran the following awk script (awk -f get-galex-url.awk html/galex*.html > nuv/urls):
    BEGIN{RS="[[:space:]=]"}
    /xd-int_2color_medium\.jpg">/{sub("/qa",""); sub("xd-int_2color_medium.jpg", "nd-cat.fits.gz"); sub("\"", ""); sub("\">", ""); print}
    
  • Ran awk '{sub("-nd-", "-fd-"); print;}' nuv/urls > fuv/urls to create the FUV URL list.
  • Ran xargs wget < nuv/urls and xargs wget < fuv/urls to download the files.
  • Ran the following to get out the sorted filename list: awk 'BEGIN{FS="/"} {print $NF}' < nuv/urls > nuv/files and the same for FUV.
  • Ran the following shell script (cd nuv; reduce < files; cd ../fuv; reduce < files)to convert the files to xylists:
    #! /bin/bash
    n=0;
    for ((;;)); do
            read x
            echo $x
            N=`printf %04i $n`
            gunzip -cd $x > field.fits
            tabsort -i field.fits -o sorted.fits -c MAG_AUTO
            fitscopy sorted.fits"[#row<=300][col X=X_IMAGE;Y=Y_IMAGE;MAG_AUTO]" nuv$N.fits
            rm field.fits
            rm sorted.fits
            n=$(($n+1))
    done
    
  • Grabbed a basic FITS header:
    dd if=~/raid3/SDSS_FIELDS_UGRIZ/sdssfield_i01.xy3.fits of=hdr bs=1 count=2880
    
  • Ran a script to pull out the FITS tables from the files:
    #! /bin/bash
    mkdir tmp
    for ((x=0; x<7077; x++)); do
            echo $x
            IN=`printf fuv%04i.fits $x`
            OUT=`printf tmp/%04i $x`
            TILE=`modhead $IN TILENUM | awk '{print $3}'`
            OBJ=`modhead $IN OBJECT | awk '{gsub("'\''", ""); print $3}'`
            ID=`echo FUV-$OBJ`
            echo $ID
            fitsgetext -i "$IN" -o "$OUT" -e 1
            modhead "$OUT" SURVEY GALEX
            modhead "$OUT" FIELDID "$ID"
            modhead "$OUT" TILENUM "$TILE"
    done
    
  • Catted them all together:
    cat hdr tmp/* > fuv.xy.fits
    
  • Pulled out the RA,DEC values (reduce-rd):
    #! /bin/bash
    n=0;
    for ((;;)); do
            read x
            echo $x
            x="../nuv-raw/$x"
            N=`printf %04i $n`
            gunzip -cd $x > field.fits
            tabsort -i field.fits -o sorted.fits -c MAG_AUTO
            fitscopy sorted.fits"[#row<=300][col RA=ALPHA_J2000;DEC=DELTA_J2000]" nuv$N.rd.fits
            rm field.fits
            rm sorted.fits
            n=$(($n+1))
    done
    
  • Grabbed the first extensions:
    #! /bin/bash
    mkdir tmp
    for ((x=0; x<7077; x++)); do
            echo $x
            IN=`printf nuv%04i.rd.fits $x`
            OUT=`printf tmp/%04i $x`
            TILE=`modhead $IN TILENUM | awk '{print $3}'`
            OBJ=`modhead $IN OBJECT | awk '{gsub("'\''", ""); print $3}'`
            ID=`echo NUV-$OBJ`
            echo $ID
            fitsgetext -i "$IN" -o "$OUT" -e 1
            modhead "$OUT" SURVEY GALEX
            modhead "$OUT" FIELDID "$ID"
            modhead "$OUT" TILENUM "$TILE"
    done
    
  • Catted them all together:
    cat hdr tmp/* > nuv.rd.fits