ESCOMP / CISM-wrapper

Community Ice Sheet Model wrapper for CESM
http://www.cesm.ucar.edu/models/cesm2.0/land-ice/
Other
3 stars 16 forks source link

Check runoff mapping for multi-ice sheet cases #64

Open billsacks opened 3 years ago

billsacks commented 3 years ago

We're doing our initial development of Antarctica and multiple ice sheets with T and I compsets. A next step will be to check the glc -> ocn mapping in a B compset.

After generating runoff mapping files for Antarctica (https://github.com/ESMCI/cime/issues/4097), we should check:

Update 2024-06-05: see new plan in https://github.com/ESCOMP/CISM-wrapper/issues/64#issuecomment-2150664137

billsacks commented 4 months ago

@mvertens is reworking the GLC runoff generation to go to ROF rather than going directly to OCN. So that changes what's needed. I think the main need now is to confirm that the multi-ice-sheet handling of runoff fluxes is being done right. I think @mvertens has already tested this to some extent.

@mvertens - do you feel confident that the GLC -> ROF routing is working right now for multiple ice sheets? If not, a test I could see doing is:

@mvertens can you please comment on whether you feel you have done or plan to do sufficient testing of this, or if you'd like someone else to take on this testing?

mvertens commented 4 months ago

@billsacks - I did the following test

All liquid and ice runoff from glc are routed directly to the outlet points without entering the river network. All points that the river model things are 'ocean' are routed to themselves. Looking at the river routing file - all points in Antarctica are considered ocean my MOSART. However, rivers with associated outlet points are present in Greenland.

The routed values of liquid and ice look as follows:

Screenshot 2024-06-05 at 10 14 18 PM

So this validates that direct routing is working as expected.

mvertens commented 4 months ago

@Billsacks - in terms of the following tests

mvertens commented 3 months ago

@billsacks - thinking about this some more - I think that carrying out a B compset with both Greenland and Antarctica and comparing with single ice sheet runs should not give the same answers since the glc->ocn rof will be different in the two cases and the ocean will respond differently. I think we want cases where the ocean does not respond to the runoff that is being received from mosart from glc.

billsacks commented 3 months ago

Thanks a lot for providing that information, @mvertens ! For the comparison of single ice sheet with multiple ice sheet runs, I was mainly thinking about this as a rough cut eyeball check to make sure, for example, that we aren't mixing up the two ice sheets somewhere in the code. So small differences due to feedbacks wouldn't be important, but it would help this test if there is significantly different runoff from Greenland and Antarctica.... Actually, one way to do this would be to do two multi-ice-sheet runs, one with big fluxes from Greenland and 0 from Antarctica, and one with the reverse.

Totally understood that you'd like someone else to do this test. And, honestly, I'm not sure if this test is worth doing: it's a little hard for me to imagine a scenario where there would be a mix-up in this respect (e.g., everything comes from the first glc instance in one part of the code, rather than being indexed properly by the glc number) without it causing a model crash or other obvious problem. So, based on your knowledge of the code, if you feel that a test like this is unnecessary, I'd go with your intuition. If you do feel like it's worthwhile, we can do that test on our end.

mvertens commented 3 months ago

@ghoelzer @billsacks @mpetrini-norce @whlipscomb @gunterl @billsacks @Katetc

I did another test after our call that had the following compset and resolution and ran for 5 days: --compset 1850_CAM60_CLM50%SP_CICE_BLOM_MOSART_CISM2%AIS-EVOLVE%GRIS-EVOLVE_SWAV --res a%1.9x2.5_l%1.9x2.5_oi%tnx1v4_r%r05_w%null_z%null_g%ais8:gris4_m%tnx1v4

And changed CISM to send the same large forcings

where (icemask_coupled_fluxes > 0)
        rofl_to_cpl = 4.e-4
        rofi_to_ocn = 8.e-4
endwhere

The following shows the export to BLOM of the liquid rofl after 6 days from the mediator history file: The mapping from rof->ocn is nearest neighbor plus smoothing.

Screenshot 2024-06-07 at 3 17 02 PM

I think this confirms that we are routing the data to the ocean correctly. Please let me know what others are thinking.

billsacks commented 3 months ago

Awesome - thank you @mvertens !