-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a10fa07
commit e35c663
Showing
4 changed files
with
88 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
-- This is the forward model job which uploads data to Sumo | ||
-- It is called from the ERT config file as a regular forward model | ||
|
||
-- Arguments: | ||
-- SUMO_CASEPATH: The absolute path to the root of the case | ||
-- e.g. <SCRATCH>/<USER>/<CASE_DIR> | ||
-- SEARCHPATH: The searchpath relative to the realization root | ||
-- e.g "share/results/maps/*.gri" | ||
-- SUMO_ENV: The environment to upload to | ||
|
||
STDERR sumo_upload.stderr | ||
STDOUT sumo_upload.stdout | ||
|
||
EXECUTABLE sumo_upload | ||
|
||
|
||
ARGLIST <SUMO_CASEPATH> <SEARCHPATH> <SUMO_ENV> | ||
|
||
MIN_ARG 2 | ||
MAX_ARG 3 | ||
ARG_TYPE 0 STRING | ||
ARG_TYPE 1 STRING | ||
ARG_TYPE 2 STRING |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
import importlib | ||
import os | ||
from pkg_resources import resource_filename | ||
|
||
from ert.shared.plugins.plugin_manager import hook_implementation | ||
from ert.shared.plugins.plugin_response import plugin_response | ||
|
||
|
||
def _get_jobs_from_directory(directory): | ||
"""Do a filesystem lookup in a directory to check | ||
for available ERT forward models""" | ||
resource_directory = resource_filename("fmu", directory) | ||
|
||
all_files = [ | ||
os.path.join(resource_directory, f) | ||
for f in os.listdir(resource_directory) | ||
if os.path.isfile(os.path.join(resource_directory, f)) | ||
] | ||
return {os.path.basename(path): path for path in all_files} | ||
|
||
|
||
# pylint: disable=no-value-for-parameter | ||
@hook_implementation | ||
@plugin_response(plugin_name="fmu_sumo") # pylint: disable=no-value-for-parameter | ||
def installable_jobs(): | ||
return _get_jobs_from_directory("sumo/config_jobs") | ||
|
||
|
||
def _get_module_variable_if_exists(module_name, variable_name, default=""): | ||
try: | ||
script_module = importlib.import_module(module_name) | ||
except ImportError: | ||
return default | ||
|
||
return getattr(script_module, variable_name, default) | ||
|
||
|
||
@hook_implementation | ||
@plugin_response(plugin_name="fmu_sumo") # pylint: disable=no-value-for-parameter | ||
def job_documentation(job_name): | ||
sumo_fmu_jobs = set(installable_jobs().data.keys()) | ||
if job_name not in sumo_fmu_jobs: | ||
return None | ||
|
||
module_name = "jobs.scripts.{}".format(job_name.lower()) | ||
|
||
description = _get_module_variable_if_exists( | ||
module_name=module_name, variable_name="description" | ||
) | ||
examples = _get_module_variable_if_exists( | ||
module_name=module_name, variable_name="examples" | ||
) | ||
category = _get_module_variable_if_exists( | ||
module_name=module_name, variable_name="category", default="other" | ||
) | ||
|
||
return { | ||
"description": description, | ||
"examples": examples, | ||
"category": category, | ||
} |