Opened 7 weeks ago

Last modified 5 days ago

#2144 new help

Sea ice edge error in UM with custom ancillaries

Reported by: dsergeev Owned by: um_support
Priority: highest Component: UM Model
Keywords: ancils, ostia, sst, sea ice Cc:
Platform: Monsoon2 UM Version: 10.2


I'm trying to run the nested UM with "custom" SST and sea ice cover ancillary files created using xancil from the OSTIA dataset.

To let the model use my ancillary files, I added these lines to app/um/rose-app.conf:



The model runs successfully. However, something goes wrong at the edge of sea ice cover, producing erroneous results, e.g. in sensible heat flux (see the figure attached).

What could be causing the problem?


Attachments (2)

sea_ice_edge_issue.png (1.5 MB) - added by dsergeev 7 weeks ago.
sea ice edge issue
seaice_diff_astart_ancil_lampii_on.png (102.2 KB) - added by dsergeev 6 days ago.

Download all attachments as: .zip

Change History (18)

Changed 7 weeks ago by dsergeev

sea ice edge issue

comment:1 Changed 7 weeks ago by willie

Hi Denis,

This could be due to the sea ice and sst ancillaries being based on an inaccurate land/sea mask. You need to make sure that the ancillaries are all based on the same land/sea mask.


comment:2 Changed 7 weeks ago by dsergeev

Hi Willie,

Thanks for your reply.

I indeed had an issue with land mask in OSTIA not matching the UM mask, causing the model to crash, but I think I fixed it by "remasking" sea-ice and SST ancillaries with the UM mask.

Besides, there is no land that can be mismatched over the open water (in other words, sea area covered with ice is still sea, not land). Or am I missing something here?


comment:3 Changed 2 weeks ago by dsergeev


As far as I understand the issue appears during the reconfiguration stage. The reconfigured start file (e.g. /projects/accacia/deser/cylc-run/u-aj561/share/cycle/20130324T1200Z/NorwegianSea/km2p2/ukv_default/ics/ukv_default_astart) contains the spurious values near the sea ice edge.

I also ran the same experiment with no ice at all in the nested region. In this case, (I guess, unsurprisingly) the reconfiguration works fine, i.e. the start file also has only 0 values for sea ice area fraction. Consequently, in the model run after a couple of hours surface heat flux seems to be smooth, without any spurious edge or "ribbon".

Could you please help me?

comment:4 Changed 2 weeks ago by dsergeev

  • Priority changed from normal to highest

comment:5 Changed 12 days ago by dsergeev

I would really appreciate if somebody helped me with this issue, as I have a deadline next month to present this work.

Can you please give me an estimate of when this ticket could be addressed?


comment:6 Changed 12 days ago by grenville


Its a bit tricky to find all the files: please give the full paths to

the original start file
all reconfigured files

I can't give an estimate of a time to solution - I do not have a clear picture of what's happening


comment:7 Changed 12 days ago by dsergeev


The rose id is u-aj561 and the cycle is 20130324T1200Z.
So the reconfigured start file is /projects/accacia/deser/cylc-run/u-aj561//share/cycle/20130324T1200Z/NorwegianSea/km2p2/ukv_default/ics/ukv_default_astart

The global start file and boundary conditions are archived on MOOSE (moose:/adhoc/projects/accacia/deser/ic_lbc/20130324T1200Z/glm/).

I'm using ancillary files from this directory: /projects/accacia/deser/custom_ancils/N76E10/km2p2/sic15jun/final/, where all the files are copies of ancillary files from previous run of the suite (run with "Create new ancillaries"), except for ice_new and sst_new which are made from the corresponding .nc files using make_ancil_modified.job script in xancil on Monsoon's postproc node. The netCDF files are made using qrparm.mask file from the same directory so that land mask is consistent.

Note that I use ice_new and sst_new instead of qrclim.seaice and qrclim.sst originally mentioned in the ticket.


Last edited 12 days ago by dsergeev (previous) (diff)

comment:8 Changed 11 days ago by grenville


Are you sure about the fields in ice_new — it appears that "FRAC OF SEA ICE…" and "ICE EDGE.." are identical — can that be correct?


comment:9 Changed 11 days ago by dsergeev


I think in this case it does not matter because the ice edge value is not being read by the suite (Only item 31 is in stash_req variable, which is "sea ice area fraction".


comment:10 Changed 11 days ago by grenville

Hi Denis

Just to let you know that we are working on this


comment:11 Changed 10 days ago by grenville


Please try reconfiguring again but with lamipii true in

um → Reconfiguration and Ancil.. → Ancil options

let us knew what happens.


comment:12 Changed 10 days ago by dsergeev


Thanks for looking into this.

I rerun the experiment with lamipii=true. But there is still mismatch between the sea ice fraction and thickness in the start file and ancillary file data, although that mismatch along the edge is slightly different. The thickness is still being set to 2 m, even though in the ancillary file it's 1m.

I noticed that in the reconfiguration's job.out file,
Ice Fraction : No of small values reset to zero 0
which was
Ice Fraction : No of small values reset to zero 18576
in the previous run (with lamipii=false).


comment:13 Changed 10 days ago by grenville


Thanks - that was a bit of a shot in the dark. We'll keep looking.


comment:14 Changed 6 days ago by simon


When setting AMIPII updating, you also need to specify the sea ice depth ancillary in the ancil window. This will be calculated internally in the model to make it consistent with the sice and sst ancils. Keep the AMIPII option, and in the Configure ancil section, click on 9500b563 and add sea ice depth, code 32. In the main configure ancils section, there should now be 31,32 in the stash_req column.

Also, you appear to be configuring rather than updating the sice and ssts. Is this deliberate?


comment:15 Changed 6 days ago by dsergeev

Hi Simon,

I've rerun the reconfiguration stage with what you suggested, and it did help to initialise the ice thickness correctly (in terms of the magnitude). However, the mismatch along the edge is still there (the figure attached).

you appear to be configuring rather than updating the sice and ssts. Is this deliberate?

My idea was to run experiments with a fixed sea ice concentration throughout the run, since it's only 48 hours. But I'm open for other suggestions of course.


Changed 6 days ago by dsergeev

comment:16 Changed 5 days ago by simon

There doesn't appear to be a scale on your plot, but if the all the values of sea ice fraction in the start dump have been set to a minimum value of 0.3, then this is expected. It's in the nature of AMIPII updating.

I just wanted to check that you were aware that you are using constant SSTs/SICE, which obviously you are.


Note: See TracTickets for help on using tickets.