b4b-dev: Plumber2 Implementation #2406
Open
Task list completed / task-list-completed
Started
2025-01-22 21:54:43
ago
21 / 26 tasks completed
5 tasks still to be completed
Details
Required Tasks
Task | Status |
---|---|
Update branch / resolve merge conflicts | Completed |
Add new CDEPS tag to this PR once the CDEPS PR is merged. | Completed |
Bring in CTSM PLUMBER5.2 PR | Completed |
Check for any sort of equivalent of user_version for plumber |
Completed |
Include any plumber-specific user namelist lines | Completed |
Update check_plumber_data |
Completed |
Determine valid sites based on tower_type ? |
Completed |
Define available_plumber_list |
Completed |
Be able to run NEON & PLUMBER simultaneously (if both are same run type) | Completed |
Provide option for None for both NEON and PLUMBER cases so they can be run indepdently | Completed |
Ensure that we don't use a NEON base case for PLUMBER or vice versa | Completed |
Update run_type defaults in arg parse | Completed |
Resolve unknown case.run error for PLUMBER given need for setup/build |
Completed |
Test out various tower options/arguments | Completed |
Update tests | Completed |
Update documentation | Completed |
Users spin up their own AD & postAD cases and then can run a transient case (no restart files needed). This is somewhat contrary to the purpose of run_neon because it requires users to run case setup, build, submit, and archive. | Incomplete |
My vote would be that we provide (and update upon changes to model versions) restart files and allow users to run a transient case out of the box (this is how NEON tower sites work, and consistency with run_tower would be nice as well as ease of use, but there is more overhead to maintain the feature). This would be a slightly easier implementation given that run_tower currently expects a transient case (and automatically submits case.run, which is not automatically created for the ad run but is automatically created for transient cases). |
Incomplete |
finidat file name updates for each site in user_nl_clm (expecting <SITE>.ad.clm2.r.YYYY-MM-DD-00000.nc files but we have for instance *50400.nc files) |
Completed |
Update run_type defaults in run_case in both tower_site.py and plumber_site.py such that the AD case is the default (instead of the transient default that's set in neon_site.py ). |
Completed |
I don't know that we need to "automatically" run postAD and transient runs, as I think it's a good idea for users to have to check the status of their AD and postAD cases to check that they meet steady state criteria (e.g., Alaska NEON sites take significantly longer to spin up than CONUS NEON sites). | Incomplete |
What I like about the current run_neon implementation is that running a postAD cases automatically creates a branch that looks for an similarly names AD case and then using the --run from postAD flag also creates a transient case uses the off the postAD ref case and initial conditions. Both of these options just take the last restart files that are available (regardless of simulation date). | Incomplete |
Regarding SP vs. BGC cases, yes a flag that allows users to chose between these two options would be excellent. I'm not sure about the best way to implement this and don't want to introduce scope creep / complexity to this work but having the option to set up SP vs. BGC cases would be very useful for PLUMBER2 (and even NEON) cases. | Incomplete |
Tests for test_sys_run_tower.py are currently failing. Fix and then run all ctsm py tests. |
Completed |
There seem to be some mixups when running with additional flags, eg plumber sites run with 'experiment' end up being run in a transient case instead of an ad case | Completed |
Need to test various argument options (note some neon options irrelevant for plumber) | Completed |
The Plumber2Site class is called in a somewhat clunky way with dummy years that get overwritten. I'm not sure of a better way to do this, and it works, but let me know if you have alternative suggestions? | Incomplete |
Running system tests takes a while. There are of course benefits to doing more testing (as I have done here), but the time the tests take may be on the excessive side. Your feedback on whether these tests are worth it would be helpful! | Incomplete |
run ./run_tower --plumber-sites with various options as a final check |
Incomplete |
make all |
Incomplete |
run ctsm system tests with ./python/run_ctsm_py_tests -s |
Incomplete |
setup of a NEON site (BART) with a specified experiment and output root | Incomplete |
setup of a NEON site (ABBY) AD case and specified output root | Incomplete |
setup of a PLUMBER site (AR-SLu) with a specified experiment and output root | Incomplete |
Loading