Platform<->OQ Engine Server Interaction
DRAFT
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- None
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Running risk calcs
To run a risk calc, one of the following needs to be implemented
1) icebox imports hazard results into oq-engine-server, bundled with risk job files
2) keep hazard results for more time in the engine database (which we would LIKE to consider only as a temporary storage), and then provide special oq-engine-server API to search for hazard calculations
2b) Keep haz results in the engine db and mark as persistent to bypass the temporary rule. This comes with its own set of problems.
2c) direct db-to-db transfer (don't use HTTP, because it's slow as a glacier), using files/filesystem, etc.
Other thoughts:
- running a risk calculation from the platform (as described above) is a lot more complicated that running a hazard calculation
- what if we just limit the area of the interest and only import to the engine the hazard results in a given area?
- get the hazard data in a selected area (bounding box, polygon, etc) and extract it
- extract the calculation parameters associated with those results and import everything to the oq-engine-server
First iteration for risk calculations:
- We know that doing large-scale risk calculations in the platform UI (no command line) is difficult, will take long, and have performance issues (particularly with transferring MASSIVE amounts of data).
- For the first version of this functionality, we will allow OATS-type users to run very small calculations
- The user will choose hazard results from the icebox
- The user will upload a risk model
- The risk model and the icebox hazard results will be imported into the oq-engine-server (and thus, the engine database)
- This will require mostly just a change in the oq-engine-server API and underlying implementation
- Calculation runs and results are imported back into icebox