I am using the eofs package with the xarray option and ran into a problem with the explained variance. I am comparing sea surface temperature from a satellite product (HadISST) and model output from a global circulation model. See the jupyter notebook here
The spatial patterns and PCs for the first two modes look very similar, however, the explained variance for the observations (sst array) is about 60% while it is below 40% for the model (orca array). Generally, the first few modes summed up explain an uncommonly small percentage of the total variance for the model data.
As a test I saved both fields that I plug into the EOF functions, read them into Matlab and performed an EOF analysis there, where I get an explained variance around 60 % for the first modes in both data sets.
I am fairly new to Python and there could definitely be a mistake in my code but I couldn't find anything and don't understand what is going on.
I would greatly appreciate any kind of help!
Svenja
I am closing this old issue, the linked notebook is no longer available. I suspect the answer may partly lie in doing the analysis at different spatial resolutions but only speculation.
Hello,
I am using the eofs package with the xarray option and ran into a problem with the explained variance. I am comparing sea surface temperature from a satellite product (HadISST) and model output from a global circulation model. See the jupyter notebook here
https://github.com/sryan288/Share/blob/master/EOF_HadISST_vs_ORCA.ipynb
The spatial patterns and PCs for the first two modes look very similar, however, the explained variance for the observations (sst array) is about 60% while it is below 40% for the model (orca array). Generally, the first few modes summed up explain an uncommonly small percentage of the total variance for the model data.
As a test I saved both fields that I plug into the EOF functions, read them into Matlab and performed an EOF analysis there, where I get an explained variance around 60 % for the first modes in both data sets.
I am fairly new to Python and there could definitely be a mistake in my code but I couldn't find anything and don't understand what is going on.
I would greatly appreciate any kind of help! Svenja