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
Copy file name to clipboardExpand all lines: README.md
+33-17Lines changed: 33 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,43 +2,59 @@
2
2
3
3
This is a prototype web interface to interact with the gust front detection algorithm found [here](https://github.com/firelab/NFGDA).
4
4
5
-
# How To Run
5
+
# How To Run
6
6
7
7
First time running project?
8
-
1. Navigate to project directory containing `docker-compose.yml'
9
-
2. Run `docker compose up -d --build'
8
+
9
+
1. Navigate to project directory containing `docker-compose.yml`
10
+
2. Run `docker compose up -d --build`
10
11
3. Navigate to http://localhost:5173
11
12
4. Play widdit
12
13
13
14
- To re-launch app, run `docker compose up -d`
14
15
- To restart docker containers, run `docker compose restart -d`
15
16
16
-
17
17
# Frontend
18
18
19
+
# Backend (/backend and /nfgda_service)
19
20
20
-
# Backend
21
+
Backend directory structure:
21
22
22
-
Backend directory structure:
23
23
- app.py contains the API endpoints
24
24
- /apis contains the API endpoint definitions
25
25
- API call logic defined in src/
26
-
- src/ contains the backend logic (Not responsible for API endpoints that orchestrate or handle HTTP requests - Contains the business logic of the application only)
26
+
- src/ contains the backend logic (Not responsible for API endpoints that orchestrate or handle HTTP requests. Contains the business logic of the application only)
27
+
28
+
NFGDA Service directory structure:
27
29
30
+
- /nfgda_service contains the NFGDA service logic
31
+
- responsible for all NFGDA execution, output processing, and file management
28
32
29
-
# Todo (before MSU handoff)
33
+
And then there's a redis instance living at port 6379 where all the job status and asset information is stored.
30
34
31
-
- Guard against short jobs that run forever for some reason
32
-
- Figure out zoom level / blank frame issue on frontend
33
-
- Switching to a new station view pauses slide deck playthrough
34
-
- Convert geotiff output to cloud-optimized-geotiffs
35
-
- Remove "expired" job files and produced resources after 24 hours (set to env variable)
36
-
- Figure out what is a "reasonable" time to run a historical job and set a hard limit (Natalie said a few hours, we'll set it to 3 to start with in env)
37
-
- Code cleanup / add comments where necessary
35
+
# Todo before MSU handoff
36
+
37
+
-[ ] Figure out zoom level / blank frame issue on frontend
38
+
-[ ] Switching to a new station view pauses slide deck playthrough
39
+
-[ ] Can we pretty up the landing page? Put a title on it somewhere before the research celebration?
40
+
-[ ] Set opacity slider on frontend
41
+
-[ ] Enhance resolution of output on frontend
42
+
-[ ] Add a "clear" button to the map that clears all job assets from the map
43
+
-[ ] Deliver frame time-stamps to the frontend
44
+
-[ ] Switch to cloud-optimized geotiffs
45
+
-[ ] Make some stuff environment variables instead of random variables everywhere
46
+
-[ ] Discuss pixel-width of gust fronts written to output file next team meeting
47
+
-[ ] Diff the NFGDA code used in nfgda_service with the original NFGDA code, see if there are any useful features we're missing out on or bugs we introduced
48
+
-[ ] Backend code cleanup / add comments where necessary
38
49
39
50
# "Nice to have" features
40
51
52
+
- There a should probably be a warning that shows up for small numbers of assets per job (2 frames produced or less). Maybe if not enough assets are produced, the job request could automatically re-run with a larger time window?
41
53
- Average time to job completion estimator (small addition: new counter in redis, average out)
42
-
- Serve tiles instead of individual GeoTIFFs (big refactor)
54
+
- Serve tiles instead of individual GeoTIFFs (big refactor, honestly might not be worth at as Cloud-optimized-geotiffs are kinda the future anyway)
43
55
- Hash job IDs to make them unguessable, so resources can't be directly accessed via URL (little development effort, likely med/large refactor effort)
44
-
56
+
57
+
# Todo after MSU handoff (futures devs read this pls)
58
+
59
+
- Check that automatic asset deletion occurs within the timeframe specified (should be 24 hours)
60
+
- Familiarize with the .env file and environment variables, and what they do
0 commit comments