Icebox: For storing and serving OpenQuake results

Registered by Lars Butler

"Icebox" is a component of the oq-platform which is responsible for storing and serving OpenQuake Engine calculation results. Icebox uses the oq-engine-server API (see https://blueprints.launchpad.net/oq-engine/+spec/oq-engine-server) to import calculation results and place them in permanent storage. (The OQ Engine database is considered temporary storage, thus the necessity for this step.)

REST API:
- /artifacts # summarized list of artifacts for the current authenticated user
- /artifact/:artifact_id # get the artifact (probably just as a geojson blob)
- /artifacts/import # parameters: platform owner user, (oq-engine-server) url to import results from; this implies that the icebox has some knowledge of the oq-engine-server API

DB:

For the first iteration of the database, we'll probably only need one table.

--artifact--
  * id (int)
  * artifact_type (string, 'hazard_curve', 'hazard_map', etc.)
  * name (string)
  * artifact_data (blob)
  * content_type (string, indicates the `artifact_data` content type--geojson, xml, etc.)
  * user_id (FK to oq-platform's Django user table)

UI:

No UI components specific to icebox are required at this time. The `explore` Platform component will use icebox's REST API and the `calculate` Platform component (not yet built) will use oq-engine-server's REST API. That's all we've thought of for now.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Drafting
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Whiteboard

The blueprint description outlines the basic functionality. The following are additional functions we will likely want to add to enable various use cases.

1) Store not just calc results, but input models as well.
2) Make some sort of link between input models and calc results
3) Add nice organization/labeling, particularly for hazard results, to make them easy to explore (some kind of organization similar to the oq-engine export folder structure would be nice).
4) Support running calculations using artifacts in icebox (import to the oq-engine/oq-engine-server?).

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.