The Astro-WISE Environment (AWE) was created by The Astro-WISE Consortium, a partnership of:
While waiting for OmegaCAM and VST completion, AWE has been expanded to include data from many different sources. Currently supported data sources include the http://www.ls.eso.org/lasilla/sciops/2p2/E2p2M/WFI/Wide-Field Imager (WFI) on the 2.2m MPG at La Silla, the http://www.ing.iac.es/Astronomy/instruments/wfc/Wide-Field Camera (WFC) on the INT at La Palma, and http://www.naoj.org/Observing/Instruments/SCam/SuprimeCAM (SUP) on Subaru at Mauna Kea. The public portions of these datasets can be browsed at the http://www.astro-wise.org/portal/aw_datasources.shtmlSupported Data Sources section of the Astro-WISE Portal.
awe> bias = BiasFrame()
instantiates an EMPTY bias frame object.
awe> bias.make()
completes/fills in the object's attributes such as the observation date, pixel and header data, data statistics, etc.
NOTE: This recursive ``making'' of objects does not extend to the Tasks as the dependencies are only checked for existence.
In the architecture of the Astro-WISE system, three main components are identified: a file-server, a database, and a high-performance compute cluster.
The file-server stores FITS-files, while the database keeps track of the relations between these files and their processing history. It is also through this database that decisions are made about which files to retrieve during the various processing steps. The compute cluster is used to process the data. During processing, requests are made to the database for the raw science data and for the necessary calibration files, which are then retrieved from the file-server.
NOTE: The only files the user has direct access to locally (e.g., current directory) are data products retrieved and/or created during processing on the local machine. Normal processing using the compute cluster will leave no such data products, but only log files at most.
The software consists of code written in http://www.python.org/Python, and includes an interactive command line environment (see http://www.test.astro-wise.org/portal/howtos/man_howto_awe/man_howto_awe.shtmlawe-prompt HOW-TO), along with web services for viewing and editing the database (see #webservicesWeb Services). On a lower level a number of existing C programs are used, such as http://terapix.iap.fr/soft/sextractor/SExtractor, ftp://ftp.strw.leidenuniv.nl/pub/ldac/software/pipeline.pdfLDAC, http://terapix.iap.fr/soft/swarp/SWarp, and http://www.eso.org/projects/aot/eclipse/Eclipse.
The code for the Astro-WISE system is written in Python, which is a language highly suitable for Object Oriented Programming (OOP). Within the OOP style in which the code is written, classes are associated with the various conventional calibration images, data images, and other derived data products. For example, in our system, bias exposures become instances of the RawBiasFrame class, and twilight flats become instances of the RawTwilightFlatFrame class. These instances of classes are the ``objects'' of OOP.
Classes may have incorporated methods and attributes. Methods perform a task on the object they belong to, while attributes are properties such as constants, flags, or links to other objects that may be needed by methods. In Astro-WISE various recipes have been coded that control the creation of instances of these classes. There may be different ways to create an instance of a class depending on which attributes are set to what values, and which methods are used. A ColdPixelMap object, for example, can be instantiated from the database (i.e. as the result of a query or search) or it can be created by using its ``make()'' method. In the latter case the ColdPixelMap can be derived either from a DomeFlatFrame or a TwilightFlatFrame, depending on which of those two objects are specified as the ``flat'' attribute of the ColdPixelMap object.
Within the Object Oriented Programming style, inheritance is an important and powerful concept. Classes can inherit attributes and methods from other classes. For example, both the DomeFlatFrame and TwilightFlatFrame classes are derived from the base class BaseFlatFrame; both are flat-fields afterall. Any method or attribute defined by the BaseFlatFrame class is inherited by both classes and both classes are free to redefine (this is called polymorphism) those methods or attributes and even add new ones as needed.
The bottom line is that Astro-WISE turns data into objects that are instances of Python classes with attributes and methods that can be inherited.
There is a significant amount of on-line documentation available for Python. Please see the Python web site http://www.python.org for further background on Python and for Python tutorials.
A web-service is available to view the database content and pixel data. It can be found at the following address:
Help pages are provided by the webservice itself.
For a limited number of operations editing of database values is allowed. Specifically, it is possible to change valid ranges of calibration data (timestamps), and flags, to disqualify bad data. A special web-service tool to change these values can be found at the following web-site:
Help pages are provided by the webservice itself.
The Target Processor is the culmination of all the benefits of the Astro-WISE system. It allows processing of a target (an end data product such as a ReducedScienceFrame or SourceList) and any of its dependencies that require it, on a parallel (e.g., compute cluster) or on a single (e.g., local machine) host. The dependency chain is followed back towards the raw data (backward chaining) to make sure only those objects requiring processing are actually processed.
A web-based version of the awe-prompt command-line interface also exists for convenience (account required).
Services involving image sections (dependency cutouts, RGB generator, etc.) can be found in the IMGView service: