Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

b4b-dev: Plumber2 Implementation #2406

Open
wants to merge 31 commits into
base: b4b-dev
Choose a base branch
from

formatting

39b3023
Select commit
Loading
Failed to load commit list.
Open

b4b-dev: Plumber2 Implementation #2406

formatting
39b3023
Select commit
Loading
Failed to load commit list.
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