Skip to content

Add correlation-based localization options - #30

Merged
myying merged 2 commits into
nansencenter:developfrom
iangrooms:gcv_localization
Sep 23, 2026
Merged

myying merged 2 commits into
nansencenter:developfrom
iangrooms:gcv_localization

Conversation

@iangrooms

Copy link
Copy Markdown
Contributor

This PR adds two correlation-based localization functions: one based on generalized cross-validation (preprint coming soon), and a 'prior-optimal' localization scheme from Menetrier et al. (2015) (see also Morzfeld and Hodyss (2023)). They are qualitatively similar to Anderson's Sampling Error Correction (2012) but without the need for pre-computation and a lookup table. The new options can be enabled by adding a "correlation" line to the config.yml file. E.g.

localization_def:
  horizontal:
    type: gaspari_cohn
  vertical:
    type: gaspari_cohn
  temporal:
    type: exponential
  correlation:
    type: gcv

The correlation-based schemes can be turned off with either "correlation: null" or "type: null". Generally these should be used in combination with distance-based localization, which they tend to make more robust to changes in the localization radius.

The PR also makes two other very minor changes:

  • It updates the EAKF regression algorithm to avoid un-necessary divisions by N-1. Some variable names are changed from var to ss for 'sum of squares.' This saves a very small amount of cost and could be rolled back to increase code readability.
  • Fixed a typo in the README

@myying

myying commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

@iangrooms Awesome! Thanks for filling this in, it's been an empty placeholder for a while. I also have the source code for Morzfeld NICE scheme, which I can add later.

@myying
myying merged commit 6c69066 into nansencenter:develop Sep 23, 2026
1 check passed
@iangrooms

Copy link
Copy Markdown
Contributor Author

@myying my pleasure! I hope it is useful.

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