-
Notifications
You must be signed in to change notification settings - Fork 0
Gsoc 2013 project hek helio integration
The Heliophysics Event Knowledgebase (HEK) is a US-based effort to collect and catalog solar and heliospheric events. Its focus is mainly the inner heliosphere. On the other hand the [HELiophysics Integrated Observatory)[http://helio.eu] (HELIO) is a set of services which includes Events and Feature catalogues (known as hec and hfc), an Instrument Location and Capability Service (ILS & ICS), and a data provider access (DPAS). All of them can be accessed from the main interface and by SOAP or REST webservices. There's also a propagation model (SHEBA) which helps to match events in the Sun with other locations in the heliosphere.
HELIO provides a large set of services, even more than the ones set above, therefore it uses can vary on what the user wants. For now we should focus on single uses on some of the services. Notice that the webservices produces votables (AstroPy has support to that file format). Also, it should be helpful to see what's been implemented in solarsoft.
The event and the feature catalogue contains a list of catalogues similar to those in HEK, but for events in all the heliosphere.
The feature catalogue is accessible through any of its webservices (I've just asked which one we should use). This catalogue uses PQL and example of how to query Active Regions is:
from suds import client
hfq = client.Client('http://voparis-helio.obspm.fr/hfc-hqi/HelioService?wsdl')
ARs2days = hfq.service.TimeQuery('2010-01-01T00:00:00','2010-01-02T00:00:00','VIEW_AR_HQI')
ARsLat = hfq.service.Query('2010-01-01T00:00:00','2010-01-01T02:00:00','VIEW_AR_HQI','FEAT_HG_LAT_DEG,-30/0; CODE,*smart*')The first example ARs2days searchs using TimeQuery and it just allows a time range from a certain table. The second example ARsLat searchs with conditions. This is following PQL syntax where the fields are separated by ';' and the values by ','. In the example above it searching for ARs between -30 and 0 degrees in heliographic latitude and code name like 'smart'.
The interface for this should hide most of this PQL and table names away. It should accept time objects. Using Taverna webservice we can get more info and do some sql queries
hfqTav = client.Client('http://voparis-helio.obspm.fr:80/hfc-hqi/HelioTavernaService?wsdl')
print hfqTav
print hfqTav.service.getTableNames()
ARsLat = hfqTav.service.SQLSelect('CC_X_PIX,CC_Y_PIX,CC','VIEW_AR_HQI',"FEAT_HG_LAT_DEG between -30 and 0 AND CODE like '%smart%'")Should provide the same results than the query from above but using SQL sintax.
ILS provides information about the location of planets and spacecraft.