CSEP alterations
Adding to the applications that RAMSIS can handle, the io should be configurable so that certain input data are not sent to a seismicity model. This is the case in the RISE and CSEP applications where seismicity data and hydraulic data are not needed for the model to provide a result.
The implementation of a model template with the new settings config is found here: link In this model, an xml file provided by CSEP contains a heat map of seismicity based on history, so no calibration is needed. Therefore only parameters like time and spatial resolution need to be sent to the model worker. Currently RAMSIS expects all models to need historical seismicity data, historical hydraulic data, and a plan for future hydraulic data (called a 'scenario'). Various parts of RAMSIS need to be altered so that these data sources are optional.
Based on the configuration in the link to the CSEP model above, we have multiple options on the model worker side for how to treat data when it is sent by RAMSIS: options: required, optional, ignored, not_allowed
So if additional data is sent to the model, it can be ignored, or an error raised.
On the ramsis side, we need to implement a similar config in project so that:
- (DONE) We don't ask for data in the gui that is not required - Greying out the input windows based on the config.
- (NOT DONE) The config is checked before sending the data so that additional data is not sent, even if it exists in the database.
Example new settings in project settings:
DEFAULTS = {
'fdsnws_enable': False,
'fdsnws_url': None,
'fdsnws_interval': 5.0, # minutes
'hydws_enable': False,
'hydws_url': None,
'hydws_interval': 5.0, # minutes
'seismic_rate_interval': 1.0, # minutes
"seismic_catalog": EInput.REQUIRED,
"well": EInput.REQUIRED,
"scenario": EInput.REQUIRED
}
Where EInput is similar to EStatus in the datamodel
options for EInput:
REQUIRED: Must be present in the inputs, gui will not allow configuration to be saved if the data source is not specified
OPTIONAL: May be present in the inputs, data will be loaded if present
NOT_ALLOWED: Data input areas are greyed out and no data is loaded for these data fields in the gui