Closed darincomeau closed 9 months ago
yep I got there as well, except it's still the 7th here!
yep I got there as well, except it's still the 7th here!
Yep, but you won't have an initial condition today, that's my prediction. So you can prove my placeholder wrong by being faster than I gave you credit for!
Yep, but you won't have an initial condition today, that's my prediction. So you can prove my placeholder wrong by being faster than I gave you credit for!
IC already generated and staged, test running now!
and it's indeed being read in correctly (case still building)
<immutable_stream name="restart_ic"
type="input"
io_type="pnetcdf"
filename_template="/lcrc/group/e3sm/data/inputdata/ice/mpas-seaice/IcoswISC30E3r5/mpassi.IcoswISC30E3r5.rstFromG-DIB-chrysalis.20240207.nc"
filename_interval="none"
input_interval="initial_only" />
ne30pg2_IcoswISC30E3r5.CRYO1850-DISMF
now time-stepping. We can cross that one off as well. I've posted the fix in it's own branch here: https://github.com/darincomeau/E3SM/tree/ice/add-icos-dib-ic
Nice job tracking that down @xylar !
You guys are awesome! Nice work!
@darincomeau Do you want to cherry-pick my units fix to accumulated*Flux
variables 285be919629f04d40cf3402bf6e69c865d47d580? Now that there are changes to the conservation AM included in this PR, I think we might as well add it.
@mark-petersen can you check the proposed unit changes in the conservation check analysis member's Registry here https://github.com/E3SM-Ocean-Discussion/E3SM/commit/285be919629f04d40cf3402bf6e69c865d47d580?
@cbegeman and I looked into this and see the flux variables being multiplied by m^2
here:
https://github.com/E3SM-Project/E3SM/blob/50485d0c929a873b5935ea3c2dc1da4d236319dd/components/mpas-ocean/src/analysis_members/mpas_ocn_conservation_check.F#L954
and not divided out again. Also when we look at the values that are written out to the conservation check analysis member, we can back out values in kg m^-2 s^-1
that appear in the ocn.log file from this analysis member by scaling by 1/area again.
The reason we're looking here is we want to use these accumulated*Flux
quantities to produce a net AIS runoff time series plot for polar simulations to compare to global ssh anomaly, and to us everything is consistent if these quantities are actually in units kg s^-1
.
Also, many thanks @mark-petersen for your work on this analysis member in the past. It's made verification of this coupler budget accounting much easier.
@darincomeau, thanks for the progress yesterday! I haven't managed to do any more debugging yet today. I'll see what I can manage this evening. @darincomeau, if I do a merge with https://github.com/E3SM-Project/E3SM/pull/6221, is this branch otherwise up-to-date with what you're testing with?
@xylar yes this is up to date. Would you like me to cherry-pick that sea ice IC commit over here, or were you going to do a local merge? I'm planning on doing a clean branch for the actual E3SM PR to clean up commit history, so it's fine to add changes to files here we otherwise won't have in the final PR.
I was planning to start the heat terms today, but I'll keep that local until it's complete.
@darincomeau, I'm still debugging, writing out the streams I recommended above.
One thought: could it be that the coupler is masking out the ice shelves when it sums up the fluxes? We certainly mask out ice shelves in some fields (e.g. those that get remapped to the atmosphere or those that get sent to sea ice). Of course, that wouldn't explain why we're not getting zeros for prognostic melt.
I can confirm that the variable avgLandIceFreshwaterFlux
has non-zero values so the problem has to be on the coupler side of things.
One thought: could it be that the coupler is masking out the ice shelves when it sums up the fluxes? We certainly mask out ice shelves in some fields (e.g. those that get remapped to the atmosphere or those that get sent to sea ice). Of course, that wouldn't explain why we're not getting zeros for prognostic melt.
@xylar I don't think this is what's going on, though this issue did come up. I commented in the code, I'll ping you where I made a change to get the coupler to not mask out ice shelves. It seems to be doing the right thing, but it was a bit of guesswork.
Also, in the original implementation where I was sending the data ISMF directly from ocn_comp_mct.F
, without averaging over coupling interval, DISMF did show up in the coupler table (in a table at the top of the PR).
I can confirm that the variable avgLandIceFreshwaterFlux has non-zero values
Right, I saw this too, it ends up non-zero in timeSeriesStatsMonthly, as well as in the ocean conservation analysis member. That led me to think it was something specific to the mpas_ocn_time_average.F routine.
@xylar it's late, get some rest! I haven't had a chance to do anything here today, maybe when I implement the heat terms this evening, something will magically pop out.
(seq_diag_print_mct) NET HEAT BUDGET (W/m2): period = monthly: date = 10201 0
atm lnd rof ocn ice nh ice sh glc *SUM*
hfreeze 0.00000000 0.00000000 0.00000000 0.06212584 -0.06212584 0.00000000 0.00000000 0.00000000
hmelt 0.00000000 0.00000000 0.00000000 -0.41618844 0.33142624 0.08507855 0.00000000 0.00031635
hnetsw -172.11170145 35.69859350 0.00000000 136.29059592 0.06204593 0.06810322 0.00000000 0.00763712
hlwdn -332.39451972 80.08749536 0.00000000 247.09087671 5.01251824 0.20517240 0.00000000 0.00154300
hlwup 388.84155761 -98.86623025 0.00000000 -283.46553532 -6.27045094 -0.23999653 0.00000000 -0.00065543
hlatvap 83.00674983 -6.87900876 0.00000000 -76.09764783 -0.02550562 -0.00479259 0.00000000 -0.00020497
hlatfus 0.67328674 -0.35937298 0.00000000 -0.24544797 -0.06723218 -0.00120155 0.00000000 0.00003206
hiroff 0.00000000 0.04587322 0.00000000 -0.04559532 0.00000000 0.00000000 0.00000000 0.00027791
hsen 19.75339851 -8.47541141 0.00000000 -11.26688638 -0.01226106 0.00067890 0.00000000 -0.00048143
hberg 0.00000000 0.00000000 0.00000000 -0.06320892 0.00000000 0.00000000 0.00000000 -0.06320892
hism 0.00000000 0.00000000 0.00000000 0.01125439 0.00000000 0.00000000 0.00000000 0.01125439
hriof 0.00000000 0.00000000 0.00000000 0.03160610 0.00000000 0.00000000 0.00000000 0.03160610
hh2otemp 0.42776435 0.00000000 0.00000000 -0.42799595 0.00000000 0.00000000 0.00000000 -0.00023160
*SUM* -11.80346412 1.25193868 0.00000000 11.45795284 -1.03158523 0.11304241 0.00000000 -0.01211542
(seq_diag_print_mct) NET WATER BUDGET (kg/m2s*1e6): period = monthly: date = 10201 0
atm lnd rof ocn ice nh ice sh glc *SUM*
wfreeze 0.00000000 0.00000000 0.00000000 -0.18617274 0.18617274 0.00000000 0.00000000 -0.00000000
wmelt 0.00000000 0.00000000 0.00000000 -2.45519385 2.78357026 -0.32692927 0.00000000 0.00144714
wrain -31.38352297 5.15651606 0.00000000 26.20419654 0.01291856 0.00159838 0.00000000 -0.00829343
wsnow -2.01764082 1.07693431 0.00000000 0.73553482 0.20147491 0.00360070 0.00000000 -0.00009608
wevap 33.18177647 -2.74422912 0.00000000 -30.42688838 -0.00902837 -0.00171256 0.00000000 -0.00008195
wrunoff 0.00000000 -0.36266438 0.17583865 0.18515025 0.00000000 0.00000000 0.00000000 -0.00167548
wfrzrof 0.00000000 -0.13746845 0.00000000 0.13663565 0.00000000 0.00000000 0.00000000 -0.00083280
wberg 0.00000000 0.00000000 0.00000000 0.18475440 0.00000000 0.00000000 0.00000000 0.18475440
wism 0.00000000 0.00000000 0.00000000 0.03372607 0.00000000 0.00000000 0.00000000 0.03372607
wrrof 0.00000000 0.00000000 0.00000000 -0.05490293 0.00000000 0.00000000 0.00000000 -0.05490293
wriof 0.00000000 0.00000000 0.00000000 -0.09471410 0.00000000 0.00000000 0.00000000 -0.09471410
wirrig 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
*SUM* -0.21938732 2.98908842 0.17583865 -5.73787427 3.17510811 -0.32344276 0.00000000 0.05933083
Now with heat flux terms for ice shelf melt (hism
) and removed ice runoff (hriof
).
I left off heat flux due to removedRiverRunoff
, which I'm not sure how to handle.
while the units were technically correct, changed to W/m^s
Thanks for pointing to that design document Andrew, I had been looking at an older version. We'll get started on that.
Closing in favor of https://github.com/E3SM-Project/E3SM/pull/6229
Adds five new o2x coupling fields and terms to coupler budget for polar configurations:
wism
- water from ice shelf basal melting (either prognostic or data)wrrof
- water removed from Antarctica liquid runoffwriof
- water removed from Antarctica solid runoffhism
- heat from ice shelf basal meltinghriof
- heat from removed ice runoff