AntSimi / py-eddy-tracker

Eddy identification and tracking
https://py-eddy-tracker.readthedocs.io/en/latest/
GNU General Public License v3.0
132 stars 55 forks source link

Eddies detected on land #223

Closed Fanny-Chenillat closed 11 months ago

Fanny-Chenillat commented 11 months ago

Hello, It seems that I have an issue on detection of eddies over the Mediterranean Sea using CROCO outputs. On the attached screenshot, I put the occurrence of anticyclonic eddies for observations from AVISO on top (no problem…islands are white on the figure) and for the CROCO model bellow: for example, over the Baleares Islands, there is some eddies detected (red islands), i.e., values are not null. I double check the model mask, which is high resolution, and islands as Baleares are well represented. This is pretty much the case for all small islands. I have absolutely no idea where this comes from. Did you already meet such issue? Is there is any option I forgot to mention? Maybe for the detection step? Maybe I should mention that I actually launch the eddy detection from CROCO outputs using UnRegularGrid. Best regards. Fanny Chenillat
Capture d'écran 2023-12-01 171932

AntSimi commented 11 months ago

Island are masked by nan or by a mask?

Fanny-Chenillat commented 11 months ago

Island are masked by nan or by a mask?

For the model, there is a gridfile where island are masked by a mask, but values are typically 0 on island for the dataset of surface sea level. There is also a mask on the datafile and it seems that it is not correct (it is nan everywhere). Does pyeddytracker used the mask on the datafile? Or should I directly mask the data on the ncfile?

I double-checked for the AVISO data where values are masked by NaN.

Best regards

Fanny

AntSimi commented 11 months ago

could share one croco file which produce detection over land, and how you run this detection?

Fanny-Chenillat commented 11 months ago

Would you mind if I send you documents by email?

Fanny-Chenillat commented 11 months ago

Thanks Antoine for your question that gave me a clue: it was actually necessary to mask the data (zeta in this case).

So I replaced the 0's with nan's at the land point from sea surface level (zeta=np.where(mask_rho==0,np.nan,zeta in the locally modified eddy_identification function), and that was it: no more eddies on the Balearic islands!

Cheers!

AntSimi commented 11 months ago

You're welcome, I didn't do anything