Open kieranricardo opened 1 month ago
Can we turn them off ? Is the UM expecting melt ponds ?
@anton-seaice oh I was under the impression we wanted melt ponds, if not that makes life easier.
The UM isn't expecting melt ponds (but we could turn this on), and we're currently using the tr_pond_lvl
scheme with the config here
They should all be off, basically there aren't meltponds in the Antarctic, and previous attempts at using them have overrepresented their impacts in the Antarctic.
We changed this here for OM3:
I suggest updating the whole config to the om3-configs, but in the interim, you could just remove tr_pond_lvl as the default is .false.
Following further discussion, it sounds like we want to add the meltpond coupling. I've had a go at following the instructions in the issue description. Branches with the changes are available here:
A lot of it is still a bit over my head, and so there is a chance I've missed something here. The above changes have no impact however. The following shows the surface temperature on the 31st day of simulations with and without the changes
I'm not sure whether anything is done by the UM with the pond_frac_cat
and pond_depth_cat
variables once they're imported. The only place I can see them outside of the variable definition routines is in rad_ctl.F90
https://github.com/ACCESS-NRI/cm3-um/blob/3eb408bc535ed183e32054d683c62541bced09d9/src/atmosphere/radiation_control/rad_ctl.F90#L2306-L2309
where they are used to set ainfo%pond_frac_cat_sicat
and ainfo%pond_depth_cat_sicat
, however these don't seem to be used anywhere else.
In /g/data/access/rose-meta/um/um-atmos/vn13.0/rose-meta.conf
it has
[namelist:jules_sea_seaice=l_sice_meltponds_cice]
compulsory=true
description=Sea-ice albedo is affected by meltponds (from CICE meltponds scheme)
sort-key=35
I'm wondering whether the meltponds impacting albedo is part of JULES, and so not having any effect for us?
I think JULES doesn't include Antarctica ?
If you have a look at the f_apond_ai
field in the CICE output you should get a sense of if CICE is generating any meltponds? If you only ran for a month, it might just be the model needs to be run longer?
Also you might need to turn on restart_pond_lvl = .true.
in ice_in
Todo from meeting:
tr_pond_lvl=.true.
to tr_pond_topo=.true.
, also use restart_pond_topo=.true.
trcrn(:,:,nt_apnd_out,:,:)
rather than apeffn
for the melt pond fraction.With the current coupling and pond scheme, something is also incorrect with the pond depth trcrn(:,:,nt_hpnd,:,:)
export to the mediator. The mediator receives zero everywhere while the pond depth in cice is not zero:
Just confirming that there is mediator output on other fields ? We had an issue at one point where the mediator output didn't work at all?
Also - wondering if trcrn(:,:,nt_hpnd,:,:)
returns a 4d array ? Maybe try writing it to a temporary array ?
Sorry about this – turns out the issue was me not understanding how to build properly, and the code changes didn't make their way into the runs... After doing that properly and swapping to the tr_pond_topo
scheme we get the following pond fraction and pond depth imports/exports for ice category 1 in the mediator:
(I've rolled the ice export data so that it better lines up with the atmosphere in the plots)
The pond fraction to the mediator very closely matches apondn
in the ice history:
But the pond depth sent to the mediator is greater than the hpondn
history variable:
I think because the hpondn
output weights the pond depth by the pond fraction to get the average pond depth over the sea ice.
Need to try and understand what the UM requires when the l_sice_meltponds_cice
is switched on. E.g. The raw pond area tracer trcrn(:,:,nt_apnd,1:ncat_hist,iblk)
has a different meaning for tr_pond_topo
vs tr_pond_level
. For tr_pond_topo
it's the fraction of ice covered by ponds, and for tr_pond_level
, it's the fraction of level ice covered by ponds (useful info here).
HI @blimlim I will have a look next week, I thought the pond fraction looked quite high, for cat 1 and 2 mor like what total ice conc might be. Might still be something not quite right but progress over the levl ice set up.
Thanks @ofa001. I've had a look into the JULES jules_ssi_albedo
routine and am putting together some notes with the details.=. My understanding is that we should send both the pond fraction and pond depth without any weighting when using the topo
scheme - which would correspond to a_pnd
and h_pnd
on this page, and I think these would be trcrn(:,:,nt_apnd,:,:)
and trcrn(:,:,nt_hpnd,:,:)
in the code.
HI @bimlim It will be best to line it up with what we sent in ACCESS-CM2, I will get you the relevent lines of code in a couple of hours after my next set of meetings, and will check if/when weighting where applied on the CICE or UM side of the coupling. Glad you are looking at some of the JULES routines!
Some todos/questions to resolve from the meeting:
tr_pond_lvl
is selected.apeffn
rather than raw pond fraction apndn
to incorporate the automatic effects of ice lidsIf we are using tr_pond_topo, which is what I would recommend then icepack_shortwave has this section of code already set up. So if the lid is
Calculate effective pond area for HadGEM
if (tr_pond_topo) then
do n = 1, ncat
apeffn(n) = c0
if (aicen(n) > puny) then
! Lid effective if thicker than hp1
if (apndn(n)*aicen(n) > puny .and. ipndn(n) < hp1) then
apeffn(n) = apndn(n)
else
apeffn(n) = c0
endif
if (apndn(n) < puny) apeffn(n) = c0
endif
enddo ! ncat
The sentence above should read. "so if the lid is > hp (=0.01) then the system already sets the apeffn=0. So you don't need to change". Apologies, I had a system problem and need to reboot, after several trues to edit.
The other lid scheme is the Stefan approximation is part of icepack_melpond_lvl scheme but we are going to set a switch to abort if that option is chosen, so I think the scheme should already include lids if they are forming in the topo scheme but it would be good to check that it is in practise.
Hi @ofa001, thanks for looking into this! It turns out I'm currently sending the raw pond fraction apndn
rather than the effective pond fraction apeffn
, meaning that the effects of the ice lids aren't showing up in our results. This was due to a mistake I made earlier on. I thought apeffn
was only set when calc_Tsfc=.true.
and hence swapped to sending the raw pond fraction apndn
, but this was incorrect! Apologies about this!
Swapping to apeffn
should help a lot with the large pond fractions appearing on the thinner ice. The following shows the raw pond fraction 'apndn, the effective fraction
apeffn`, and their difference on Jan 30 of the first year:
I've added fixing this to my todo list above.
Hi @blimlim, Thats good news its a big difference, I thought I would have seen values like this before in CM2.
I am going to look into the ice thickness issue next, again it may not be as big as your plot showed, as it will only effect the lowest ice thickness category, so around the ice edge mostly, and I am wondering if I am mixing up our old CSIRO model where our multi layer model did become 'zero layer' as it got thinner, same with snow models (in pre-CABLE set up).
Add support for coupling melt ponds between UM and CICE6.