AstroGrid

Navigation
Log in


Forgot your password?
 

This website (www2.astrogrid.org) is now deprecated - please go to www.astrogrid.org for up to date information.

Document Actions

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">&lt;!-- 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 -->&lt;?ag-adql-schema-version v1.0a1?>&lt;Select xsi:type=&quot;selectType&quot; xmlns=&quot;http://www.ivoa.net/xml/ADQL/v1.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;>\n   &lt;SelectionList xsi:type=&quot;selectionListType&quot;>\n      &lt;Item xsi:type=&quot;allSelectionItemType&quot;/>\n   &lt;/SelectionList>\n   &lt;From xsi:type=&quot;fromType&quot;>\n      &lt;Table xsi:type=&quot;tableType&quot; Name=&quot;PhotoObj&quot; Alias=&quot;P&quot;/>\n      &lt;Table xsi:type=&quot;tableType&quot; Name=&quot;getObjCirc&quot; Alias=&quot;G&quot;/>\n   &lt;/From>\n   &lt;Where xsi:type=&quot;whereType&quot;>\n      &lt;Condition xsi:type=&quot;intersectionSearchType&quot;>\n         &lt;Condition xsi:type=&quot;comparisonPredType&quot; Comparison=&quot;=&quot;>\n            &lt;Arg xsi:type=&quot;columnReferenceType&quot; Table=&quot;G&quot; Name=&quot;_ra&quot;/>\n            &lt;Arg xsi:type=&quot;atomType&quot;>\n               &lt;Literal xsi:type=&quot;realType&quot; Value=&quot;%(ra)s&quot;/>\n            &lt;/Arg>\n         &lt;/Condition>\n         &lt;Condition xsi:type=&quot;intersectionSearchType&quot;>\n            &lt;Condition xsi:type=&quot;comparisonPredType&quot; Comparison=&quot;=&quot;>\n               &lt;Arg xsi:type=&quot;columnReferenceType&quot; Table=&quot;G&quot; Name=&quot;_dec&quot;/>\n               &lt;Arg xsi:type=&quot;atomType&quot;>\n                  &lt;Literal xsi:type=&quot;realType&quot; Value=&quot;%(dec)s&quot;/>\n               &lt;/Arg>\n            &lt;/Condition>\n            &lt;Condition xsi:type=&quot;intersectionSearchType&quot;>\n               &lt;Condition xsi:type=&quot;comparisonPredType&quot; Comparison=&quot;=&quot;>\n                  &lt;Arg xsi:type=&quot;columnReferenceType&quot; Table=&quot;G&quot; Name=&quot;_radius&quot;/>\n                  &lt;Arg xsi:type=&quot;atomType&quot;>\n                     &lt;Literal xsi:type=&quot;realType&quot; Value=&quot;%(radius)s&quot;/>\n                  &lt;/Arg>\n               &lt;/Condition>\n               &lt;Condition xsi:type=&quot;comparisonPredType&quot; Comparison=&quot;=&quot;>\n                  &lt;Arg xsi:type=&quot;columnReferenceType&quot; Table=&quot;G&quot; Name=&quot;id&quot;/>\n                  &lt;Arg xsi:type=&quot;columnReferenceType&quot; Table=&quot;P&quot; Name=&quot;id&quot;/>\n               &lt;/Condition>\n            &lt;/Condition>\n         &lt;/Condition>\n      &lt;/Condition>\n   &lt;/Where>\n&lt;/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