OceanParcels / Parcels

Main code for Parcels (Probably A Really Computationally Efficient Lagrangian Simulator)
https://www.oceanparcels.org
MIT License
289 stars 127 forks source link

Parcels within eReefs GBR #1354

Closed Dinga1990 closed 1 year ago

Dinga1990 commented 1 year ago

Hi,

I'm a student and new to GitHub. I'm looking at drifters in the Great Barrier Reef. I have been using this tutorial https://tristansalles.github.io/EnviReef/6-addson/parcels.html however I want to use the raw data with hourly output from here: https://dapds00.nci.org.au/thredds/dodsC/fx3/gbr1_2.0/gbr1_simple_2022-05-14.nc.html

This raw data uses a C-grid however I'm struggling to get it to work after using the NEMO C-grid tutorials. I was wondering if someone can help me out, as I haven't been able to crack this in a week. Ereef details are here: https://research.csiro.au/ereefs/models/

I’m trying not to re-grid the data as has been done previously. I have some MATLAB code to re-grid, which I would need to convert to python. However, the end goal is to have a single notebook that would be able to run anywhere within the eReefs domain so it can be used by other students and researchers.

Other notes:

Dinga1990 commented 1 year ago

Here is a PDF of the code that I'm working through Ereef_parcels-daily - GITHUB.pdf

The error that I'm getting is

ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 2, the array at index 0 has size 2389 and the array at index 1 has size 1021

VeckoTheGecko commented 1 year ago

Hello, greetings from WA 😄 . I think building in compatability for parcels to act natively with model output is a great idea.

A few things:

Having the data + code + full error log will allow us to replicate the issue, and better help.

Just a heads up, I don't really have time to give this a proper look this weekend. I'll see if I can take a closer look Mon/Tues.

Dinga1990 commented 1 year ago

@VeckoTheGecko Thanks! I didn't expect answers on the weekend so any help is better than me going in spirals.

The native file is 7GB, so WeTransfer will not work. Here is the direct data link: https://dapds00.nci.org.au/thredds/fileServer/fx3/gbr1_2.0/gbr1_simple_2022-05-01.nc

I will work on the second part tonight.

Edit: I wasn't sure how to do this another way, but I have uploaded my code here and created a simple example based on the NEMO tutorial. https://github.com/Dinga1990/Drifter_eReefs/blob/main/Parcels%20with%20eReef%20simple.ipynb

Dinga1990 commented 1 year ago

After discussion with the CSIRO regarding the grid, it was discovered that the data was re-grid from C-grid to A-grid already as raw output. There are working with the dimensions, I was able to get the code running. Code is here: https://github.com/Dinga1990/Drifter_eReefs/blob/main/Parcels%20with%20eReef%20simple.ipynb

JamiePringle commented 1 year ago

One word of warning -- using C-grid model data that has been re-gridded to A-grid will lead to problems near all solid boundaries, as the flow field boundary condition of no-flow through the bottom is not generally captured by the A-grid data. At a minimum, this will cause problems with particles moving through land or bottom boundaries. It is MUCH, MUCH better to use the original C-grid data. Happy to chat more about this.

You will see this as a problem if you see particles going into the bottom or onto land...