Replies: 5 comments 6 replies
-
|
(some stream-of-consciousness here) My thoughts around the git repo/workflow organzation are basically to focus the repos and the methods on a single deliverable for each repo. That repo obviously depends on pecan/sipnet, and so the idea would be that for a person on CARB's side to replicate the deliverable, they should have to:
The workflow repo should also have the methods needed to obtain the real data from whatever source it needs to get it from. Some advantages of this are:
Disadvantages:
|
Beta Was this translation helpful? Give feedback.
-
|
To update - in recent discussions we've agreed to structure the repository around deliverables (e.g. data prep, monitoring, model runs, scenarios, downscaling, etc) rather than project phases. As CI lead, @hdpriest-ui owns the architecture and will guide decisions on how shared tooling is centralized and reused, with others providing feedback as we iterate existing workflows and new workflows come online. Summaries to specific questions above:
If there are any lingering details to discuss, please re-open or create a new thread. |
Beta Was this translation helpful? Give feedback.
-
|
Updated idea, each in its own repository |
Beta Was this translation helpful? Give feedback.
-
|
I've put together a very rough architecture diagram that focuses on 1) organizing workflow components into separate repositories and 2) key data flows based on this thread and internal discussions. It shows repositories organized around discrete workflow components (with an overarching workflows orchestrator). It is a draft, intended as a working model for the team to facilitate discussion and and make the workflow and repository intentions more explicit. Feedback appreciated - please discuss, ask ?s, suggest changes here / Slack / Google Drive. |
Beta Was this translation helpful? Give feedback.
-
|
What I've long found unclear in all of this is what lives in ccmmf and what lives in pecan, and I worry there's more being put in ccmmf than I'd prefer. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Background
Moving toward wrapping up phase 1b, we have two distinct approaches to organizing this work in the workflows repository. One approach uses a directory structure based on project phases (#1, #7) and the other is structured around a workflows that will be iteratively developed over the course of the project (#2).
This is a brief outline of the rationale behind organizing code around final deliverables, and why this has advantages over organizing code around project phases. It also illustrates an example of how this could be done.
This approach aims to:
Features of the Proposed Structure
Open Science & Collaboration
Clarity & Maintainability
Example Structure for Repositories Focused on Software Deliverables
Below is a multi-repository layout that organizes sub-workflows by purpose rather than phase.
Each repository has a README describing usage, a sequence of scripts, and a report that summarizes workflow outputs.
Specific example of how CCMMF workflows could be divided:
Summary
The project’s conceptual framework emphasizes agile and iterative development and open science, and is focused on producing a specific set of deliverables including that include software, workflows, and documentation. The project itself has been organized into a timeline with enumerated "tasks" and "phases" for the purposes of planning, these phases weren't intended as a way of structuring the software and other deliverables.
Discussion Points
The primary goal here is to gain consensus on the core idea of organizing our code around the software we are developing. If not, I'd like to better understand what this approach lacks, and how organizing code around the structure of the project plan fits into the approach and goals of the CCMMF project.
How did you envision organizing the code? Do you think that organizing code around deliverables is a good idea?
Related topics that we can discuss here but do not require near-term resolution include:
ccmmfdirectory on geo.bu.edu that can be shared via rsync, but this needs to be documented.Beta Was this translation helpful? Give feedback.
All reactions