Skip to content

Fix SSMIS configs#218

Merged
jemrobinson merged 4 commits into
mainfrom
fix-ssmis-dataset
Feb 17, 2026
Merged

Fix SSMIS configs#218
jemrobinson merged 4 commits into
mainfrom
fix-ssmis-dataset

Conversation

@jemrobinson
Copy link
Copy Markdown
Member

Currently SSMIS datasets downloaded over FTP have NaNs in several places. This PR adds a NanToNum filter to replace these with numbers. I've currently chosen:

  • ice_conc, raw_ice_conc_values => 0.0
  • algorithm_standard_uncertainty, smearing_standard_uncertainty, total_standard_uncertainty => 99

@jemrobinson jemrobinson requested a review from IFenton February 13, 2026 13:31
@jemrobinson jemrobinson changed the title Fix SSMIS dataset Fix SSMIS configs Feb 13, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 13, 2026

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  icenet_mp/data_processors/filters
  __init__.py
  doubling_filter.py 16-17, 21-23
  nan_to_num.py 13, 17
Project Total  

This report was generated by python-coverage-comment-action

@jemrobinson jemrobinson requested a review from a team February 16, 2026 11:13
@jemrobinson
Copy link
Copy Markdown
Member Author

@marianovitasari20 : are you happy with this?

@marianovitasari20 marianovitasari20 self-assigned this Feb 17, 2026
@marianovitasari20
Copy link
Copy Markdown
Contributor

Hi @jemrobinson,
Does that mean NaNs are being replaced with 0? If so, won’t that be confusing with real “no ice” values rather than NaN?

@marianovitasari20
Copy link
Copy Markdown
Contributor

Is 99 defined in the SSMIS product specification as a fill value, or was it chosen arbitrarily?
I’m wondering whether, if it’s not an official fill value, it could be interpreted as a genuine uncertainty value later in the pipeline.

@jemrobinson
Copy link
Copy Markdown
Member Author

jemrobinson commented Feb 17, 2026

@marianovitasari20

Does that mean NaNs are being replaced with 0? If so, won’t that be confusing with real “no ice” values rather than NaN?

We need to remove the NaNs because otherwise the pipeline will try and fail to predict them. Options that the pipeline will be able to predict are

  1. a made-up non-zero value
  2. 0

Note that the current OSISAF-SSMIS dataset we're using does one of these already (I think 2. but I haven't checked).

Is 99 defined in the SSMIS product specification as a fill value, or was it chosen arbitrarily?
I’m wondering whether, if it’s not an official fill value, it could be interpreted as a genuine uncertainty value later in the pipeline.

It was chosen arbitrarily. We're not currently using these variables (although we could consider doing so in future). Do you prefer a different fill value? We could consider something like -1 instead.

The best long-term solution is to only train on those portions of the grid that actually contain potential sea ice, but we're not doing so at the moment.

@marianovitasari20
Copy link
Copy Markdown
Contributor

Thanks for explaining @jemrobinson! Happy to go ahead with 99 or -1 for now. It might be worth opening an issue to track the grid masking improvement (preprocessing step) so it doesn't get lost down the line.

@marianovitasari20 marianovitasari20 self-requested a review February 17, 2026 14:20
@marianovitasari20 marianovitasari20 removed their assignment Feb 17, 2026
@jemrobinson
Copy link
Copy Markdown
Member Author

@jemrobinson jemrobinson merged commit dbdb28c into main Feb 17, 2026
3 checks passed
@jemrobinson jemrobinson deleted the fix-ssmis-dataset branch February 17, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants