-
Notifications
You must be signed in to change notification settings - Fork 0
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
What happens when ice is at minimum thickness in CICE/UM? #45
Comments
hi @bimlim @anton-seaice In Icepack_therm_itd.F90 there is a remapping occuring in relation to ice volume when the ice drops below the ice volume, which also adjusts the pond variables. Here is the code. ! Make sure hice(1) >= minimum ice thickness hi_min.
I will next check the flux issue to the ocean which will be covered under icepack therm vertical or icepack_therm_bl99. Then its a case of what the mediator to UM was seeing in Spencer's plots.. |
hi @blimlim @kieranricardo ! This routine is only called if UM-style coupling is being used, with top conductive flux as forcing.
etc... |
HI @blimlim, The excess flux passing to the ocean comes from ice/icepack therm bl99 using an array enum. This happens when the temprature solver gets into a loop where it cant solve and it needs assistance to help it to solve.
! Alex West: return this energy to the ocean
For example here is some of the snow loop.
You can look at code to follow through on enum and this code is form Gsi8.1 hence the (i,j)'s in the code. Still puzzled what you were seeing in the mediator v the UM, this is simply some of the flux being reduced to help the temperature solve solve, its the same as if it went into the open water (ledas), or if it had gone in as a penetrative shortwave flux, through the ice which we still need to fix and reached the ocean that way, its small. |
Hi @ofa001, thanks for writing this up. I think it will take some time for me to properly understand the CICE code! I can add some details on what I think is happening on the UM side though. I've attached the graph I shared yesterday below. It shows the thinnest category ice concentration exported by the mediator to the UM, the concentration output by the UM, and their difference, all at the first timestep: A large part of the thinner ice is missing in the UM output. This impacts the total ice area of this category: Meanwhile, the thicker categories have much better agreement in their areas at different stages: It looks like the ice disappears when we process the imports to the UM. We're first clipping the ice fractions based on their thickness: ! clip ice fractions
if (ice_fract_cat(i,j,k) > 0.0) then
if (ice_thick_cat(i,j,k) / ice_fract_cat(i,j,k) < hi_min) THEN
ice_fract_cat(i,j,k) = 0.0 ! other fields will be zeroed next
end if
end if where If I take the mediator output and manually apply the above clipping to it, we get something much closer to the UM's output: Applying the second processing step (clipping fractions < 0.01) then recovers the UM's output almost exactly: |
I'm not too sure what the different effects of this are UM side. Presumably it would reduce the albedo in grid cells with a large fraction of thin ice, and it might also impact the surface temperature calculated in As @kieranricardo mentioned, this comes from the oasis coupling. There's a little bit of explanation there, which I don't properly understand – apparently when the zero layer scheme is used, the ice concentrations will be adjusted but ice volume won't be deleted, but when multilayer ice is used, thin ice is just deleted. This also matches what was done in CM2 which has The 0.2m
|
Just pulled this from oasis3_geto2a which is just before the code that Kieran has duplicated across.
The thing is we did "squash" in the remap step in ice_therm_itd when we conserved volume on the CICE side to retain the thickness but reduce the area. One of the other issues isMet office used the two step "time travelling" approach which mean they did have two time levels of ice concentration which as they say above they used to do produce the energy conserving fluxes to the ocean, Kieran has decide he doesn't need to do this, but is now following this step, which means he is not energy conserving after all. What I also noticed Spencer in your 30 day graphs is that the result was noticeable in the first few days but adjusted away, by the end of the month, now that may be because of the initial condition which came from a fixed initial set up in the ACCESS-OM3, using ocean SST's and an ice thickness profile, and arbitrary AMIP run in the UM so well out of sync, and once the system has adjusted, this issue is going to be a minor, difference, possibly above round off error. I was surprised to see concentration errors of up to 0.5 "as the remapping step=squashing" had taken place in CICE and if this ice was less than hi_min it would reduce, it looked like these errors were outside the region set by the CICE/OM-3 initial condidtion, that means ice was advecting there, but probably thin ice, and some of it would be numerical diffusion at the very limit. After a month or so the two models would be more in sync. Alos as you can see the hi-min limits are fairly arbitrarily chosen (trial and error at a guess). Its likely that CICE at 0.1 or 0.15 will mostly work its just they may have had problems early on |
I guess one question is to run a test on how far out it is if you do a restart in year2 or year 10, when the early mismatch between models is no longer an issue. But the other issue in relation to the fluxes, yes thats where the 2 time levels of the ice concentration came in to get better fluxes, its slightly different because, Kieran is doing the ocean time step ahead of the atmosphere one, the Met office had the UM leading the ocean, I will send Spencer the document. |
Hi @ofa001, that's a good point about the large amount of ice being deleted in the UM despite us "squashing" it in CICE:
I couldn't work out what value of !-----------------------------------------------------------------
! Make sure hice(1) >= minimum ice thickness hi_min.
!-----------------------------------------------------------------
write(6,*) "SPENCER hi_min: ", hi_min
if (hi_min > c0 .and. aicen(1) > puny .and. hicen(1) < hi_min) then
da0 = aicen(1) * (c1 - hicen(1)/hi_min)
... Which printed out:
And so I think CICE is enforcing thickness > 1cm and the UM is enforcing thickness > 20cm – hence the large areas being deleted. I'm running a two year simulation now, and will upload some results when their done. |
Thats worrying, perhaps the way Kieran has implemented hi_min in icepack hasn't worked, in CICE5 it went into ice_itd.F90 perhaps in CICE6 it needs to be in icepack_parameters? I Will check what he has done. It also the aicenmin (met office) changes need to be passed to some of the subroutines cicecore, not sure about hi_min. I should have checked more carefully how he put these met office fixes in. |
@MartinDix pointed out we are currently trying to set In our current config, we set |
Hi @bimlim, I think I told Kieran that I didnt think that wasnt a good idea and he should put it in more general code with an access flag or in icepack parameters, as those settings could change. |
HI again I checked kitd the other day in the namelist (ice_in) but I just did it again its set to 1 so this code is not being reached. I guess Kieran put it there because it was logical next to the cesm coupled setting but I suggested he follow the Met office approach and have it which is right outside the kcatbound loops. and was not linked to any kitd and kcatbound settings. Their code looks like this ! AEW: (based on Alison McLaren's vn4 modifications) Set a higher value
I am looking to see if Kieran has set aicenmin anywhere, as that is useful across as I said in cicecore (ice history) area and Met office also had a setting on hs_min again for stability. 'heat-capacity' was removed in CIC6.5 if it was the flag that if false switched to zero layer so no, I was really wrong when I was put on the spot the other day, the model would not jump back form multi-layer to zero layer (a single layer) in any 2024 CICE version. OOPs :( |
Hi @blimlim I found the change when Kieran put these on the branch no he did the absolute minimum he changed the hs_min in icepack_parameters and didn't introduce aicenmin at all though I think he did introduce it on the UM side as he copied their part of the code more closely there. So he didnt do what was advised, and luckily you have found the consequences of the bug, and its shown up right at the beginning of the run when the 2 models are out of sync. The real issue now though, does not using the semi-implicit method, and the lack of the intermediate ice concentration which the Met office where using for the fluxes, mean the system is non conserving, as you are worrying about conservation through the mediator, this may be a good time to test it. |
Hi @bimlim this probably belong under a separate topic but by Kieran not including the changes to aicenmin which was used by the Met office in the zap small areas subroutine, and in some of the ice_history criteria, but copying the same name numbers from the Um into his "cap" again conservation has been broken, as this routine accounted for some of the conservation on the CICE side which was is not handled in the UM. I should have been checking his code branchs more carefully not just that he did implement as following the cm2 approach and their approach when we spotted he had an error there not just the partial changes he has put in. |
Hi everyone, I just have a small update on the treatment of thin ice. I roughly set the Running for 3 months gives the following total areas for the thinnest ice category in the UM and CICE: Compared to our previous run which had The update reduces the discrepancy between CICE and the UM's ice areas, but doesn't remove it completely. The UM sees less ice especially at the start of the run: Plotting the concentrations, the UM still ignores a lot of the ice around 65N on at the start of the simulation: Quite a bit of the ice in this area ends up having a thickness slightly below 0.2, despite the resizing done in I'm wondering if any of the CICE steps between after resetting the thickness to |
Hi @bimlim In the icepack_step_therm2 the calls after linear_itd are in order "add new ice", "lateral melt" (which can reduce area) then "cleanup itd". Look its highly likely some of the difference several weeks into the run once you are past the "initialization shock" could be coming from the "add new ice" which handles frazil ice which is way less than 20cm in the field it is set to hi0new which will normally lie between these settings in the lowest ice category, but is also set above hfrazilmin =0.05m In "lateral melt" the lateral melt parametrization does change the volume and area, but does not specifially change the thickness. The "cleanup itd" routine is the one that has the zap small area routines where aicenmin=1e-2 or 1e-5 matching the value in the UM should be set as in CM2 set up, I would suggest start with 1e-5 its greater than puny 1e-11 but not down at 1% ice cover levels, and test and see how sensitive the system is, switch value on the UM side to match, and will clean up numerical noise levels of ice left behind, it will mostly effect the lowest ice category as thicker categories melt down, normally. There are other calls to "cleanup itd", however, from the dynamic parts of the code in particular the icepack mechred, the ice thickness can change through ridging/rafting so its highly possible that that may need to be checked, the call to the dynamics routines follows thermodynamics in the code. I am beginning to wonder if we should be duplicating the hi_min=0.2 and aicenmin=1_e-2/1e-5 settings on the UM side of the coupler and its regridding with so many additional adjustments in CICE after they have been imposed taking into account those values are only approximations to the correct settings for stability. What happens if we temporarily switch them off and just have the hi_min and aicenmin (zap small area higher settings on) what do your curves look like after a 3 month run. |
hi @bimlim Was just checking the code in the UM in ESM1.5/6 on this issue the had hi_min at 0.01 as we knew but aicenmin on the atmosphere side was 2e-4 whilst it was 'puny' on the CICE side, and they accept there is squashing (maintaining volume) going on in the comments, unlike what they say in the more upto date models. I am planning implementing at least a value of 2e-4 on the CICE side for aicenmin ESM1.6. |
Hi @ofa001, apologies on the lack of updates on my end! I've been a bit preoccupied with ESM1.5 work the last couple of weeks and so haven't had a chance to look at this in much detail yet. I just have a couple of plots from some runs I'd done earlier which I'll upload for discussion in the next meeting. The first is a continuation of the run with The difference in the thinnest category ice area remains fairly stable at around 40km^2 for most of the run, with a jump around late October. However the increases are still much smaller than at the very start of the run. I then tried commenting out the sections of the UM which cull the ice based on thickness or ice fraction. In CICE, I'd left We see much smaller differences in the thinnest category ice fractions than before. @kieranricardo mentioned that the UM sees ice that's less than 0.2m most likely as a result of the regridding, which doesn't conserve the mininum thickness, rather than additional steps in CICE. I'm currently running an extra simulation with timestep output to understand this better. |
Hi @blimlim, @kieranricardo is right the re-gridding is also going to reduce the ice below this minimum thickness, but I think the large change you got in the initial start up is due to frazil and dynamics, which came about in the mismatch between the initial condition in the ice-ocean set up and the atmosphere set up, the atmosphere was cold over a region of ocean that didn't have any ice on it in the CICE set up, and it need to form or advect there. |
Hi @ofa001, the following are from a simulation with The following shows the total ice area for the thinnest category, in CICE and in the UM: The following shows the difference between the two: It looks similar to the previous run with CICE's |
Hi @bimlim you say this above "CICE's aicemin was previously [increased from puny to 1e-2 due to concerns about water conservation" where did you find that, I saw them testing between 1-e-2 and 1-e-5 in the gsi8.1 version, that we picked up but we stayed with 1e-5 for cm2. In relation to water conservation, in the 'zapping small areas section" we save all the the fresh water, snow melt terms involved. I spotted it was Kieran who suggested that it was a water conservation issue, but there were other water conservation issues in the code as well at the time, this wasn't it. I first thought you might have been talking about the "amin" term in the ice dynamics" which I think @anton-seaice said they now think they can run at a much smaller value in CICE6, I haven't considered the conservation issues in relation to this. I will think about it get back to you. |
Thanks @ofa001. Just to clarify, I was referring to the CM3 tests that @kieranricardo had done. |
Thanks @blimlim Didnt @kieranricardo have another water conservation issue in his model runs. Could he pin it down to coming from this ice change, the 'fresh' and 'salt' budgets in to 'zap small areas' are linked to aicenmin, and then fed through to the ocean terms, should work, I should check where he did it. |
@bimlim yes the water conservation is handled as done as the increments dfresh dfsalt which then get accumulated through the different model subroutines, the value of aicenmin wont impact it in that subroutine. |
Hi @bimlim, it looks like the CIC6 a_min (p001) in the ice_dyn_shared is the same as in CICE5 so hasnt been changed but from Anton they may be discussing the value. |
Thanks @ofa001, I thought I'd write up some tables of the parameters used in the different models based on your earlier email, in case it is useful to have them in a central place for discussion in the next meeting. CM3
The CICE CM2
ESM1.5
|
@kieranricardo mentioned that there was an additional conservation issue due to some rivers not connecting to the coastline, however increasing the minimum ice fraction for CICE's zapping did cause separate conservation errors. I'm currently running some simulations to reproduce this. |
Thanks @bimlim, I havent run a value for ESM1.6 yet but I was going to recommend aicenmin at 2e-4 on the CICE side, so
|
Hi @ofa001, |
Hi @bimlim that maybe why the comment statement in gsi8.1 said between 1e-2 and 1e-5 and the actual value used was 1e-5, and 1e-2 on the UM side, though I think that is too high. I am suprised, it was so large though, it must represent additional, terms in the new ice growth and dynamics part of the code that are not being accounted for correctly, by just the zap small area code. 1e-2 is 3 orders of magnitude larger, and 1% of the ice cover though. |
Hi @ofa001, just adding a summary of the last meeting to keep track of tasks for me to do:
Let me know if there was anything I've missed here, or if there's any other tests you would be interested in seeing. |
Hi @blimlim No that sounds reasonable summary of what we suggested, I will have a think on the test on the fluxes and how we can check it. |
Spencer reported that when Ice was dropping below the minimum thickness there was some odd behaviour as ice concentration in the mediator was not being mirrored in the UM,
The text was updated successfully, but these errors were encountered: