-
Notifications
You must be signed in to change notification settings - Fork 318
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
LWISO_Ld10.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_gnu.clm-coldStart FAIL in ctsm5.2 #2041
Comments
Met with @billsacks and @ekluzek and decided the following:
|
@billsacks @ekluzek
|
Thanks for your work on this and for providing this update @slevis-lmwg ! I have a few thoughts here: (1) It seems like this points out a general need to update namelist_defaults so that all ctsm5.1 options are duplicated for ctsm5.2 if we are introducing a new ctsm5.2 physics option. (I had a vague recollection that we weren't going to have a new ctsm5.2 physics option, since the only difference was going to be new surface datasets which we were going to apply for all versions, but maybe I'm remembering wrong or maybe the plan has changed?) (2) I don't think this fully explains why the test is newly failing now, since as you say, the test uses clm50 physics, and convert_ocean_to_land is always (implicitly) false on master, since that option isn't implemented there. But maybe there's some interaction between this option and changes in the new surface datasets... I guess I could believe that. (3) I'm struggling a bit to see why setting convert_ocean_to_land = .true. would make things pass when having this be .false. leads to the error you're seeing. If I remember correctly, the error appeared in a vegetated PFT. One thing I wonder is if it's a zero-area (virtual) patch in the run with convert_ocean_to_land = .false. (i.e., patch%wtgcell(p) = 0). In principle I don't think that should cause problems, but maybe something is working wrong for the initialization or evolution of virtual columns in this respect? I think this is worth digging into a little more, because it feels like something is going wrong here.... |
In case it might help me narrow things down, I tried the same test I don't have a good understanding of the code, so I will spend some time trying to understand it. |
@slevis-lmwg based on that result and your previous one, the first thing I'd look at is whether there are changes in the subgrid breakdown for the grid cell with the failure: it seems like there may be a difference in the presence / absence of some subgrid tile in the old vs. new, maybe? |
@billsacks here's what I see with ncview... @billsacks in an earlier comment you wondered whether patch%wtgcell(p) = 0 in the failing grid cell and the answer is no. I added corresponding info to the error message:
|
Hmmmm, I am very puzzled. I am having trouble seeing why the change in convert_ocean_to_land has any bearing on this: Are there even any differences in the subgrid weights of this point when setting that to true vs false? It seems like there wouldn't be based on PCT_WETLAND being 0. Have you been able to reproduce the failure (to verify that this wasn't just a machine glitch) and also reproduce the pass when setting |
I reproduced the error three times: once when running the test in Also I reran with |
I removed my last two posts because they did not add helpful information. |
Write statements from index = 21 seems to behave consistently with other index values, so I don't think that these write statements raise red flags. :
|
Repeated the above test but in ctsm5.1 (dev129) with the corresponding old fsurdat. General behavior seems the same. No red flags from inspecting the cesm.log of this test against the cesm.log from ctsm5.2 (that stops with the error). Next: I will look into using the truncate_small_values function. |
As recommended in the software eng. meeting (2023/7/6), I have confirmed that the I2000Clm50BgcCrop test with convert_ocean_to_land = .true. in ctsm5.2 fails with the exact same error as with convert_ocean_to_land = .false. Applying truncate_small_values on both tracer and bulk may correct the issue. However, it does not explain why running with ctsm51 I see bulk and tracer values of 1e-200, but the error is not triggered. |
The test has now passed. I will commit and push the corresponding code change for review and discussion. I doubt that we will agree on my exact code change, but it's a start. |
Brief summary of bug
This test fails in ctsm5.2
LWISO_Ld10.f10_f10_mg37.I2000Clm50BgcCrop.cheyenne_gnu.clm-coldStart
with
ERROR in CompareBulkToTracer: tracer does not agree with bulk water
General bug information
CTSM version you are using: [output of
git describe
]alpha-ctsm5.2.mksrf.16_ctsm5.1.dev123
Does this bug cause significantly incorrect results in the model's science? [Yes / No]
Yes
Configurations affected:
See test name above.
Details of bug
This is the first time that we have tried to run the test suites with ctsm5.2. The failing test uses a new fsurdat in ctsm5.2:
/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_esmf/ctsm5.2.0/surfdata_10x15_hist_78pfts_CMIP6_2000_c230517.nc
...relative to ctsm5.1:
/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/release-clm5.0.18/surfdata_10x15_hist_78pfts_CMIP6_simyr2000_c190214.nc
@billsacks
@ekluzek suggested that you may have quicker insight into this failure than we would.
The text was updated successfully, but these errors were encountered: