openquake.engine package


openquake.engine.engine module

Engine: A collection of fundamental functions for initializing and running calculations.

exception openquake.engine.engine.MasterKilled[source]

Bases: KeyboardInterrupt

Exception raised when a job is killed manually


Check if there is a newer version of the engine.

  • the calculation mode when called from the engine
  • an empty string when called from the WebUI
  • a message if the running version of the engine is obsolete
  • the empty string if the engine is updated
  • None if the check could not be performed (i.e. github is down)
openquake.engine.engine.create_jobs(job_inis, loglvl, kw)[source]

Create job records on the database (if not already there) and configure the logging.

openquake.engine.engine.expose_outputs(dstore, owner='runner', status='complete')[source]

Build a correspondence between the outputs in the datastore and the ones in the database.

Parameters:dstore – datastore
Returns:an array with the receiver ports
openquake.engine.engine.inhibitSigInt(signum, _stack)[source]
openquake.engine.engine.manage_signals(signum, _stack)[source]

Convert a SIGTERM into a SystemExit exception and a SIGINT/SIGHUP into a MasterKilled exception with an appropriate error message.

  • signum (int) – the number of the received signal
  • _stack – the current frame object, ignored
openquake.engine.engine.poll_queue(job_id, poll_time)[source]

Check the queue of executing/submitted jobs and exit when there is a free slot.

openquake.engine.engine.run_calc(job_id, oqparam, exports, log_level='info', log_file=None, **kw)[source]

Run a calculation.

openquake.engine.engine.run_jobs(job_inis, log_level='info', log_file=None, exports='', username='runner', **kw)[source]

Run jobs using the specified config file and other options.

  • job_inis (str) – A list of paths to .ini files, or a list of job dictionaries
  • log_level (str) – ‘debug’, ‘info’, ‘warn’, ‘error’, or ‘critical’
  • log_file (str) – Path to log file.
  • exports – A comma-separated string of export types requested by the user.
  • username – Name of the user running the job
  • kw – Extra parameters like hazard_calculation_id and calculation_mode

Look at the number of available workers and update the parameter OqParam.concurrent_tasks.default. Abort the calculations if no workers are available. Do nothing for trivial distributions.


Do nothing


returns: a triple of integers from a version tag

Module contents

OpenQuake is an open-source platform for the calculation of hazard and risk impact. It is a project of the Global Earthquake Model, and may be extended by other organizations to address additional classes of peril.

For more information, please see the website at This software may be downloaded at

The continuous integration server is at
Up-to-date sphinx documentation is at

This software is licensed under the AGPL license, for more details please see the LICENSE file.

Copyright (C) 2010-2021 GEM Foundation

OpenQuake is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenQuake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with OpenQuake. If not, see <>.