JMMP-Group / nordic-seas-validation

MIT License
0 stars 0 forks source link

Code for validation #15

Open oceandie opened 2 years ago

oceandie commented 2 years ago

Hi @malmans2,

@sophmm will help us to develop metrics for assessing Nordic OVF accuracy/biases.

The idea is to:

  1. interpolate T&S model outputs onto the observational grid (function of stations(lat,lon) and depths);
  2. Compute the metric - still to be decided
  3. Mask out all the grid points of the observational grid where obs have potential density anomaly > 27.8 kg/m3 and compute the average metric for all the remaining points.

Optionally, for down stream sections as OSANP or OVIDE we would like to be able to compute a separate metric for both the Irminger and Icelandic basin or one for the both of them.

We were thinking that to start, the interpolation in the horizontal could be just nearest neighbour and in the vertical simple linear. After, we could always refine the method, although we don't expect much difference in the horizontal.

What do you suggest: should we add the code in this repository or leave this to read and standardize all the obs we have and create a new repository for the validation? This validation tool will be part also of the North ATlantic Process Evaluation Group (NATLPEG).

malmans2 commented 2 years ago

Hi @oceandie @sophmm, Sounds good to me! The code to standardize is all wrapped in a class, so I don't mind adding other classes/functions here. If it turns out that the metrics are more general and can be applied anywhere, we can always create a new repository later.

If you are thinking to use xarray & co, I think xoak is the best way to find the "nearest" observational stations on model grids. Alternatively, you could use xESMF locstream object, but I'm pretty sure performance will be worst compared to xoak. (With xesmf you could use other interpolations as well, but I also think nearest neighbour is the way to go).

oceandie commented 2 years ago

Hi @oceandie @sophmm, Sounds good to me! The code to standardize is all wrapped in a class, so I don't mind adding other classes/functions here. If it turns out that the metrics are more general and can be applied anywhere, we can always create a new repository later.

If you are thinking to use xarray & co, I think xoak is the best way to find the "nearest" observational stations on model grids. Alternatively, you could use xESMF locstream object, but I'm pretty sure performance will be worst compared to xoak. (With xesmf you could use other interpolations as well, but I also think nearest neighbour is the way to go).

Hi @malmans2 , Perfect, that sounds good to me too - thanks for the suggestion for xoak, looks really what we are after ;)