forked from gcpeixoto/PUMLE
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflow.txt
More file actions
70 lines (62 loc) · 2.13 KB
/
Copy pathflow.txt
File metadata and controls
70 lines (62 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Main Program Flow:
1. main.py
├── Load environment variables
├── Initialize Pumle instance
└── Display menu
├── Option 1: Run Simulation
│ ├── Create data lake structure
│ ├── Get user parameters
│ ├── Configure Pumle
│ ├── Run pre_process()
│ └── Run run_simulations()
│
├── Option 2: Persist Data
│ ├── For each simulation config:
│ │ ├── Run post_process()
│ │ └── Run save_data()
│ └── Update database
│
├── Option 3: Show Database
│ └── Display simulation records
│
└── Option 4: Clean Old Files
└── Remove old simulation files
Simulation Flow:
1. pre_process()
├── Validate parameters
├── Generate parameter variations
└── Prepare simulation files
2. run_simulations()
├── For each parameter variation:
│ ├── Generate simulation hash
│ ├── Create simulation directory
│ ├── Write parameter files
│ ├── Run simulation (Octave)
│ └── Update database status
└── Wait for completion
3. post_process()
├── Parse simulation results
├── Extract grid dimensions
├── Process active cells
└── Generate output files
4. save_data()
├── Convert results to JSON
├── Save to local storage
└── Optionally upload to S3
Data Flow:
1. Parameter Generation
├── User selects parameters
├── ParameterVariation generates variations
└── Variations saved as JSON files
2. Simulation Execution
├── Parameter files read by Octave
├── Simulation runs in Octave
└── Results saved as JSON files
3. Result Processing
├── SimResultsParser reads JSON files
├── Data converted to numpy arrays
└── Results saved in data lake
4. Data Persistence
├── Results saved to local storage
├── Metadata stored in database
└── Optionally uploaded to S3