This website (www2.astrogrid.org) is now deprecated - please go to www.astrogrid.org for up to date information.
IPHAS Cone Search in Python
Click here to get the file
Size
5.4 kB
-
File type
text/python-source
File contents
#!/usr/bin/env python2.4
import xmlrpclib as x
import sys
import os
import time
prefix = file(os.path.expanduser("~/.astrogrid-desktop")).next().rstrip()
s = x.Server(prefix + "xmlrpc")
home = s.astrogrid.myspace.getHome()
doc='<?xml version="1.0" encoding="UTF-8"?>\n<workflow name="New Workflow" xmlns="http://www.astrogrid.org/schema/AGWorkflow/v1"><sequence><Activity name="Cone Search" joinCondition="any" xsi:type="step" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><description>Perform a cone search on IPHAS db</description><tool name="uk.ac.cam.ast/IPHAS/catalogue/ceaApplication" interface="adql"><input><parameter name="Query"><ns1:value xmlns:ns1="http://www.astrogrid.org/schema/AGParameterDefinition/v1"><!-- ADQL (originally) generated from: {OldQuery: In scope PhotoObj,getObjCirc,find where Intersection(([ColRef getObjCirc(alias \'G\')._ra]) = ([Real] %(ra)s null), Intersection(([ColRef getObjCirc(alias \'G\')._dec]) = ([Real] %(dec)s null), Intersection(([ColRef getObjCirc(alias \'G\')._radius]) = ([Real] %(radius)s null), ([ColRef getObjCirc(alias \'G\').id]) = ([ColRef PhotoObj(alias \'P\').id])))), returning [TableResults: target=null, cols=*, Format Default, ]} on Sat Oct 21 18:02:08 BST 2006 --><?ag-adql-schema-version v1.0a1?><Select xsi:type="selectType" xmlns="http://www.ivoa.net/xml/ADQL/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">\n <SelectionList xsi:type="selectionListType">\n <Item xsi:type="allSelectionItemType"/>\n </SelectionList>\n <From xsi:type="fromType">\n <Table xsi:type="tableType" Name="PhotoObj" Alias="P"/>\n <Table xsi:type="tableType" Name="getObjCirc" Alias="G"/>\n </From>\n <Where xsi:type="whereType">\n <Condition xsi:type="intersectionSearchType">\n <Condition xsi:type="comparisonPredType" Comparison="=">\n <Arg xsi:type="columnReferenceType" Table="G" Name="_ra"/>\n <Arg xsi:type="atomType">\n <Literal xsi:type="realType" Value="%(ra)s"/>\n </Arg>\n </Condition>\n <Condition xsi:type="intersectionSearchType">\n <Condition xsi:type="comparisonPredType" Comparison="=">\n <Arg xsi:type="columnReferenceType" Table="G" Name="_dec"/>\n <Arg xsi:type="atomType">\n <Literal xsi:type="realType" Value="%(dec)s"/>\n </Arg>\n </Condition>\n <Condition xsi:type="intersectionSearchType">\n <Condition xsi:type="comparisonPredType" Comparison="=">\n <Arg xsi:type="columnReferenceType" Table="G" Name="_radius"/>\n <Arg xsi:type="atomType">\n <Literal xsi:type="realType" Value="%(radius)s"/>\n </Arg>\n </Condition>\n <Condition xsi:type="comparisonPredType" Comparison="=">\n <Arg xsi:type="columnReferenceType" Table="G" Name="id"/>\n <Arg xsi:type="columnReferenceType" Table="P" Name="id"/>\n </Condition>\n </Condition>\n </Condition>\n </Condition>\n </Where>\n</Select></ns1:value></parameter><parameter name="Format"><ns2:value xmlns:ns2="http://www.astrogrid.org/schema/AGParameterDefinition/v1">VOTABLE</ns2:value></parameter></input><output><parameter name="Result" indirect="true"><ns3:value xmlns:ns3="http://www.astrogrid.org/schema/AGParameterDefinition/v1">%(output)s</ns3:value></parameter></output></tool></Activity></sequence><description>Enter Description</description><Credentials><ns4:Account xmlns:ns4="http://www.astrogrid.org/schema/Credentials/v1"><ns4:Name>ed</ns4:Name><ns4:Community>uk.ac.le.star</ns4:Community></ns4:Account><ns5:Group xmlns:ns5="http://www.astrogrid.org/schema/Credentials/v1"><ns5:Name>ed</ns5:Name><ns5:Community>uk.ac.le.star</ns5:Community></ns5:Group><ns6:SecurityToken xmlns:ns6="http://www.astrogrid.org/schema/Credentials/v1">ignored</ns6:SecurityToken></Credentials></workflow>\n'
ra=sys.argv[1]
dec=sys.argv[2]
radius=sys.argv[3]
output=sys.argv[4]
d = {'ra': sys.argv[1], 'dec': sys.argv[2], 'radius': sys.argv[3],
'output': '%s/iphas/iphas-%s.vot' % (home, time.strftime('%Y%m%d-%H%M%S'))}
execId = s.astrogrid.applications.submit(doc % d)
print "Job: %s" % execId
time.sleep(15)
execInfo = s.astrogrid.applications.getExecutionInformation(execId)
while execInfo['status'] == "RUNNING" or execInfo['status'] == "PENDING":
print "Status: %s" % execInfo['status']
time.sleep(15)
execInfo = s.astrogrid.applications.getExecutionInformation(execId)
if execInfo['status'] == "ERROR":
print "Application ended in error"
sys.exit()
open(output, 'w').write(s.astrogrid.myspace.read(d['output']))
print "Result saved into MySpace file: %s " % d['output']
print "Result saved into local file %s" % output