You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -37,8 +36,8 @@ This Python-based toolbox is designed to optimize geothermal reservoir developme
37
36
## Development Requirements
38
37
39
38
-**Operating System**: Ubuntu 22.04 (recommended)
40
-
-**Python Version**: 3.12 (configured in the Makefile)
41
-
-**Make and common Unix tools**: git, curl
39
+
-**Python Version**: 3.12 (managed via uv; configured in `pyproject.toml` and `justfile`)
40
+
-**Just and common Unix tools**: git, curl
42
41
43
42
---
44
43
@@ -50,34 +49,46 @@ You can install either a **development environment** (recommended for developers
50
49
51
50
> **Note:** Currently, Windows OS is not supported for this setup.
52
51
53
-
#### Development Environment:
52
+
#### Development Environment
53
+
54
+
Installs the tools needed for development (Python via uv, dev dependencies, pre-commit, LaTeX, optional Docker):
54
55
55
-
This installs all the necessary tools, including development dependencies, pre-commit hooks, Docker, LaTeX, and Python/uv environments:
56
+
- Full dev (includes Docker):
56
57
57
58
```shell
58
-
make install-dev
59
+
just install-dev
59
60
```
60
61
61
-
This command will specifically:
62
+
- Dev without Docker (threaded runner only):
63
+
64
+
```shell
65
+
just install-dev-thread
66
+
```
67
+
68
+
The full dev setup will:
69
+
70
+
- Install Python 3.12 and create a virtual environment with `uv`.
71
+
- Install LaTeX and TeXstudio for docs.
72
+
- Install Docker and verify it.
73
+
- Install all Python dev dependencies and pre-commit hooks.
62
74
63
-
- Install Python 3.12 and set up a virtual environment using `uv`.
64
-
- Install LaTeX and TeXstudio for documentation purposes.
65
-
- Install Docker, verifying its functionality.
66
-
- Install all Python development dependencies and pre-commit hooks.
75
+
#### Release Environment
67
76
68
-
#### Release Environment:
77
+
Choose based on your runner mode:
69
78
70
-
Installs only the dependencies necessary to run the application in a production setting. Run:
79
+
- Docker runner:
71
80
72
81
```shell
73
-
make install-release
82
+
just install-docker-release
74
83
```
75
84
76
-
This command will specifically:
85
+
- Threaded runner (without Docker):
77
86
78
-
- Install Python 3.12 and set up a virtual environment using `uv`.
79
-
- Install Docker, verifying its functionality.
80
-
- Install all Python development dependencies and pre-commit hooks.
87
+
```shell
88
+
just install-thread-release
89
+
```
90
+
91
+
Both variants install Python 3.12 runtime deps via `uv`; the Docker option also installs and verifies Docker. Pre-commit hooks are set up by the recipes.
81
92
82
93
---
83
94
@@ -86,13 +97,13 @@ This command will specifically:
86
97
To edit the project documentation using TeXstudio, execute:
87
98
88
99
```shell
89
-
make edit-docs
100
+
just edit-docs
90
101
```
91
102
92
103
- This will open the documentation in TeXstudio if installed.
93
104
- If TeXstudio is not detected, please install it along with LaTeX by running:
94
105
```shell
95
-
make install-latex
106
+
just install-latex
96
107
```
97
108
98
109
---
@@ -102,7 +113,7 @@ make install-latex
102
113
Maintain codebase quality by executing pre-commit hooks, which will run set of the tools including pytest and coverage:
The toolbox supports two execution modes for running simulations:
128
+
129
+
- Threaded runner (default): local execution without containers.
130
+
- Docker runner: containerized workers.
131
+
132
+
Pick a runner using either the CLI flag `--use-docker` or the convenience `just` recipes:
133
+
134
+
- Threaded:
135
+
136
+
```shell
137
+
just run-thread <config_filepath><model_filepath>
138
+
```
139
+
140
+
- Docker:
141
+
142
+
```shell
143
+
just run-docker <config_filepath><model_filepath>
144
+
```
145
+
146
+
147
+
### 3. Reservoir simulation interoperability
115
148
Interoperability between reservoir simulator and toolbox is established by the proper `Connector`[src/services/simulation_service/core/connectors].
116
149
Connector allows exchange information (simulation configuration and simulation results) between toolbox and simulator.
117
150
@@ -195,7 +228,7 @@ Connector allows exchange information (simulation configuration and simulation r
195
228
6. Simulation model implementation is read to run an optimization process using RiskManagementToolbox.
196
229
7. All simulation model files must be archived in `.zip` format. User should ensure that after unpacking all simulation model files are accessible in folder without any additional subfolders.
197
230
198
-
### 3. Toolbox configuration file
231
+
### 4. Toolbox configuration file
199
232
RiskManagementToolbox is designed to use JSON configuration file, where the user defines the optimization problem(s),
200
233
initial state, and variable constraints.
201
234
@@ -305,7 +338,7 @@ Recently the following optimization problem(s) are supported:
305
338
306
339
If the user does not define the optimization strategy, the default value is `maximize`.
307
340
308
-
#### 3.1. Optimization parameters: linear inequalities
341
+
#### 4.1. Optimization parameters: linear inequalities
309
342
310
343
You can optionally express additional relationships between variables using sparse linear (in)equalities.
311
344
@@ -398,7 +431,7 @@ During validation the upper bound is automatically reduced if it exceeds a physi
398
431
}
399
432
```
400
433
401
-
#### 3.2. Example of the configuration file
434
+
#### 4.2. Example of the configuration file
402
435
403
436
Well placement problem for two wells with maximization optimization strategy:
404
437
```json
@@ -468,25 +501,32 @@ Well placement problem for two wells with maximization optimization strategy:
468
501
469
502
---
470
503
471
-
### 4. Toolbox running
504
+
### 5. Running the toolbox
472
505
473
-
To run the RiskManagementToolbox the virtual environment corresponded with the repository must be
0 commit comments