Conversation
…indirection, update tests - Convert TreeCoverLossTasks class to module-level functions in stages.py - Remove tcl.py and TreeCoverLossPrefectTasks - Update all flows and tests to use direct function calls - QC and compute now run as separate steps in the flow
jterry64
left a comment
There was a problem hiding this comment.
I think it mostly looks good other than 2 small comments, although the functions got removed around quite a bit so was hard to tell for stages.py. The new QC function where you pass the result_df looked good though. Thanks for reversing all this refactoring haha.
Did you use AI at all to help with this? Maybe @manukala6 could use something similar.
initial works 1 -> 10 for efficient flox compute adapt min reduced to 1 for the long idle time during gee cal adapt max upped to 75 for heavy TCL flox compute
Thanks for the review @jterry64 - I mainly made it consistent with the other pipelines to minimize the cognitive load of maintaining multiple patterns. We can implement the dependency injection pattern coherently across pipelines when/if we start feeling pain points of what we have.
Yes, this was mostly in co-pilot with claude opus 4.6 prompting it to follow the other pipeline pattern. Need to give it specific pipeline and narrow down the modules it needs to update to have it not waste tokens. I had this instructions.md that it helped put together to help with that: |
This PR refactors the TCL pipeline to run the global computation before running qc validation and to use the functional pattern used in all the other datasets' pipelines.