I have set up a new AGRIF nest over our NORDIC domain, but I face some very odd behaviour at boundary with the parent that I cannot explain nor I understand how to fix.
Before I detail the problem, there is what I use and want to run:
NEMO 4.2 branch (commit b6ff7755)
- One way nesting
- No depth interpolation
- Parent domain is unmodified for volume conservation (one way nesting)
- Child is initialized from parent
Child domain made with the DOMAINcfg tool with the configuration:
- 1 to 5 nest; one nest only
- Its own high resolution bathymetry from external data
- Same levels for parent and child
- npt_connect = 1
- npt_copy = 4
- zps with partial steps
With these options, after the first time step in the child appears cells with 0 temperature & salinity inside the sponge layer from layer 2 and below, which crashes NEMO immediately. I made a figure that summarize what we see. This case correspond to the second line in this figure (first one is the surface mask, for reference)
I tried several things to fix the problem:
- Close the boundary condition in the child domain to see what will happen: I don’t have 0 anymore, but instead I have NaN bleeding from the boundary (see figure, 3rd line).
- Use the old NESTING tool to make the domain: same problem with the bleeding NaN (+ all a bunch of unrelated problem due to the position of the child that is not where it’s supposed to be).
- I tried by moving the domain coordinates a bit east and north, same problem.
- Same problem with an older version of NEMO4.2.
- Trying to use vertical interpolation. No 0 anymore, but NaN bleeding in.
- Fill with land a bit of the boundary close to the boundary where the bleeding occurs to prevent it. Doesn’t prevent anything.
The only thing that changes significantly the outcomes is if I use the updated parent domain updated for the volume conservation. It forces me to adjust the eastern boundary by adding land where it’s supposed to be open boundaries (mismatch between parent & child coastline?) but filling these point with land allows the model to run for longer. It finally libc-crashes at the child 7th ts, with NaN in the velocity fields, but that looks like a different problem.
I am really running out of idea here. I think it should be related to the domain but I have no idea how to debug that nor what could be wrong. I did follow the new documentation for nesting.
I guess pushing with the updated parent domain is the way to push forwards, but it creates a bunch of problem that an one-way nesting wouldn’t cause. We have a bunch of very tiny straights in this region and both domain have to be manually adjusted to allow the flow. Two-way nesting makes it very hard to do the same. I would rather have one way nesting work for now…
The weirdest part is that my initial test domain works perfectly fine. This is localized further north between Danemark, Norway and Sweden, and it was made with the old NESTING tool, but it does work. I started this new domain with the NESTING tool as well, and moved away from it mainly because of this problem, so I do not think it’s related to what tool I used for each case.
Anyone has an idea on how to move forwards?