nesting_bug

Bug reports, work arounds and fixes

Moderators: arango, robertson

Post Reply
Message
Author
simion1232006
Posts: 60
Joined: Tue Sep 29, 2009 3:50 pm
Location: School of Environment System Engineering,UWA

nesting_bug

#1 Unread post by simion1232006 »

I have no problem to use the previous ROMS version(nesting, no wet_dry), while after I updated the code yesterday,I could not run the model any more. It blows up after ~50 time step. see the attachment (SST of restart file): the SST changes a lot on the coarse fine boundary. I guess there is a bug in the fine2coarse code or in the contact.m script. Is there anyone seeing the similar problems. I reckon this update is a big overhaul, so I am not surprise to see some bugs.
Attachments
log_Pilbara_nest5_6.txt
(137.16 KiB) Downloaded 242 times
SST_nesting_test.png
Last edited by simion1232006 on Wed Dec 17, 2014 8:23 am, edited 3 times in total.

simion1232006
Posts: 60
Joined: Tue Sep 29, 2009 3:50 pm
Location: School of Environment System Engineering,UWA

Re: nesting_bug

#2 Unread post by simion1232006 »

This is my previous model output. It looks all fine. Note that I have also updated the matlab repository, created an new contact input file.
Attachments
1049.jpg

User avatar
arango
Site Admin
Posts: 1350
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: nesting_bug

#3 Unread post by arango »

I have checked the new released codes carefully for the last two months (countless hours in the debugger) with idealized and a realistic applications in the South China Sea and the US East Coast and they work fine. The one that you were using before have several serious bugs. I don't know what is wrong with your application. You need to spend time investigating if your nested application is correctly configured. I cannot do that for you.

I suspect that your problem is in how the refined grid was generated. We are improving Matlab scripts like coarse2fine.m to absolutely guarantee that the area of the coarse grid is conserved. The computation of pm=1/dx and pn=1/dy metrics need to be correct. We need to have:

Code: Select all

     dx(coarse) = SUM[dx(fine), 1:RefineScale]
     dy(coarse) = SUM[dy(fine), 1:RefineScale]
   area(coarse) = SUM[area(fine), 1:RefineScale^2]
for every contact point in the contact regions inside a coarse grid cell. Perhaps, you can check if this is the case in your application and learn something about it in the process. You need to start checking your set up more carefully. If you are not conserving area and steady state volume, you will be in trouble and will need to re-generate your grid NetCDF file for the refined grid.

I don't know when I will finish reworking few Matlab scripts. I am taking vacations.

If you think that the problem is in fine2coarse in ROMS, turn on the ONE_WAY CPP option. Although, I seriously doubt. This routine is so delicate that any bug would have affected all the tests that I have done in serial and parallel. Also my two-way solutions will be very different than the one-way solutions. And they are not :!: The routine fine2coarse is only called in two-way nesting set-ups. So by activating ONE_WAY it will remove the calling fine2coarse.

We all would appreciate if in the future you abstain from wild guesses. Please base your statements on evidence that actually fine2coarse is buggy. I have mentioned several times that nesting is complex and the algorithms are not black boxes that you just turn on and every will be fine. It requires curiosity, patience, circulation dynamics, and ocean modeling expertise.

simion1232006
Posts: 60
Joined: Tue Sep 29, 2009 3:50 pm
Location: School of Environment System Engineering,UWA

Re: nesting_bug

#4 Unread post by simion1232006 »

Oh, I did not notice I need to regenerate the refined grid. That could be the problems. I actually modified the refined the batyhymetry to improve the depth, and matched them at the coarse fine boundary. I will need to recreate this grid and see how it goes. Many thanks.

Post Reply