NOAA-EMC / seaice-concentration

Sea ice concentration analysis at NCEP
Apache License 2.0
1 stars 1 forks source link

Update posteriori ice filter #25

Open rgrumbine opened 7 months ago

rgrumbine commented 7 months ago

The current posteriori ice filter (tech noted in MMAB series) was based solely on where SST had never fallen below approx 2C in the OIv2 analysis in the previous ~30 years.

This has allowed some areas of often-cold water that don't have ice (problematic areas E, SE of Newfoundland, for instance) to show ice cover under storm conditions.

The update is to add areas which are simply not allowed to be ice covered in the analysis. This is done based on which points showed as ice spuriously (w.r.t. the IMS analysis) in the global L4 analysis 1 Jan 2022 to present.

sanAkel commented 3 months ago

@rgrumbine I may be (rather, would like to 😄 ) assist with this too; feel free to assign it to me.

Questions:

rgrumbine commented 3 months ago

Anything you feel like working on/with, you're more than welcome to do so! You should also be able to assign yourself to issues, I think. If you lack some permission, let me know and I'll add it or get someone to do so.

In my source code tree, the main directories are by instrument name, for the decoding steps, l1b_to_l2 for instruments that I do that for, l2_to_l3 likewise, and general for splicing together the l2 or l3 files to make an l4. Plus any other general tools (writing out grib files, some really simple graphics).

The source that deals with the near real time SST filtering (using the current SST analysis, nsst or rtgsst) is general/seaice_filtanal.Cd/filt3.C The critical temperature is passed in as an argument -- argv[8] -- from the control script -- scripts/exseaice_analysis.sh

The 'never below about 2 C' is documented in https://zenodo.org/records/7245178 (both document and source code) and is applied from the static file a_posteriori_5min by code general/seaice_posteriori.Cd/seaice_posteriori.C The static file is in my fixed file directory $HOME/rgref/fix and is a bunch of flags (described in the document).

The static file was based on the Reynolds OIv2 v2.0, but for 1985-2008 (AVHRR-only). Since then, there's OIv2 v2.1, and avhrr-only is available from September 1981. It'd be good to update the a posteriori mask to use OIv2 v2.1 for 1991-2020 -- the current standard 30 year period for climatology.

As usual, the critical temperature of 275.3 K was something of a kluge. Even I don't remember how that got selected. The balance (hence the kluge aspect, or, to be nice to past-me, item of art) is that the SST analysis uses the sea ice analysis and vice versa. If the sea ice analysis puts ice in a location, the SST analysis will give a near-freezing temperature. But, the next day when the ice analysis goes to filter out bogus ice using SST, the SST analysis cold temperature will permit the bogus ice to remain. This set up the possibility of a runaway feedback loop of ever-expanding bogus ice. And that happened (for a time ice, and near-freezing SST, ran down the entire coast of the Kuriles and Japan -- in summer). Using the 275.3 (some temperature somewhat above ocean freezing point) helped/helps avoid that issue.

sanAkel commented 3 months ago

Thanks @rgrumbine for explaining.

What is the 'IMS'?

rgrumbine commented 3 months ago

Sorry -- IMS = Integrated Mapping System

This provides snow and sea ice information (that's the integration) for the northern hemisphere. It is produced by the National Ice Center on 24, 4, and 1 km polar stereographic grids. We get the 24 and 4 in our operations. Land group has considered the 1 km for its snow information, but not yet gone with it.

The sea ice is a binary mask of ice / no ice. A cell is flagged as ice if the analyst can find any ice in that cell. It is produced daily.

sanAkel commented 3 months ago

Thanks again for detailing this.