Skip to content

Commit 6122cbc

Browse files
authored
Merge pull request #98 from PecanProject/infotroph-gsoc-25
2 parents fe38b46 + f586841 commit 6122cbc

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

src/pages/gsoc_ideas.mdx

+19-5
Original file line numberDiff line numberDiff line change
@@ -82,32 +82,46 @@ Medium
8282
---
8383
### 3. Database and Data Improvements{#db}
8484

85-
PEcAn relies on the BETYdb database to store trait and yield data as well as model provenance information. This project aims to separate trait data from provenance tracking, and ensure that PEcAn is able to run without the server currently required to run the Postgres database used by BETYdb. The goal is to make PEcAn workflows easier to test, deploy, and use while also making data more accessible.
85+
PEcAn relies on the BETYdb database to store trait and yield data as well as model provenance information. This project aims to separate trait data from provenance tracking, ensure that PEcAn is able to run without the server currently required to run the Postgres database used by BETYdb, and enable flexible data sharing in place of a server-reliant sync mechanism. The goal is to make PEcAn workflows easier to test, deploy, and use while also making data more accessible.
8686

8787

8888
**Potential Directions**
8989

90-
- **Minimal BETYdb Database:** Create a simplified version of BETYdb for demonstrations and Integration tests.
91-
- **Non-Database Setup:** Enable workflows that do not require PostgreSQL or a web front-end.
90+
- **Minimal BETYdb Database:** Create a simplified version of BETYdb for demonstrations and Integration tests, which might include:
91+
- Review the provenance information we currently log, identify components that no longer need to be tracked or that should be temporary rather than permanent records, and build tools to clean unneeded records from the database.
92+
- Design and create a freestanding version of the trait data, including choosing the format and distribution method, implementing whatever pipelines are needed to move the data over, and documenting how to use and update the result.
93+
- Review the information we currently log, identify components that no longer need to be tracked or that should be temporary rather than permanent, and build tools to clean unneeded/expired records from the database.
94+
95+
- **Non-Database Setup:** Enable workflows that do not require PostgreSQL or a web front-end, potentially including:
96+
- Identify PEcAn modules that are still DB-dependent and refactor them to allow freestanding use
97+
- Implement mechanisms for decoupling the DB from the model pipelines in time and space while still tracking provenance. Perhaps this could involve separate prep/execution/post-logging phases, but we encourage your creative suggestions.
98+
- Create tools that maximize interoperability with data from other sources, including from external databases or the user's own observations.
99+
- Identify functionality from the "BETYdb network" sync system that is out of date and replace or remove it as needed.
92100

93101
**Expected outcomes**:
94102

95103
A successful project would complete a subset of the following tasks:
96104
- A lightweight, distributable demo Postgres database.
105+
- A distributable dataset of the existing trait and yield records in a maximally reusable format (i.e. maybe _not_ Postgres)
97106
- A workflow that is independent of the Postgres database.
98107

108+
**Skills Required**:
99109

110+
- Familiarity with database concepts required
111+
- Postgres experience helpful (and required if proposing DB cleanup tasks)
112+
- R experience helpful (and required if proposing PEcAn code changes)
100113

101114
**Contact person:**
102115

103116
Chris Black (@infotroph)
104117

105118
**Duration:**
106119

107-
Suitable fora Medium (175hr) or Large (350 hr) project.
120+
Suitable for a Medium (175hr) or Large (350 hr) project.
108121

109122
**Difficulty:**
110-
Medium, Large
123+
124+
Intermediate to hard
111125

112126

113127
---

0 commit comments

Comments
 (0)