A Grid value problem by Octant

Discussion about analysis, visualization, and collaboration tools and techniques

Moderators: arango, robertson

Post Reply
Message
Author
sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

A Grid value problem by Octant

#1 Unread post by sdsjkj »

Dear, all;

I made a grid with OCTANT and tried to run ROMS(version 448) without any force to check if the grid is working or not.
But Roms didn't run.
In the logfile, DXmax and DYmax were infinite, so i checked the grid values.
Values:f,h,mask_u,mask_v,mask_rho,mask_psi look fine.
But,I found lots of the same 9.9692e+036 values on masked cells of the others (angle,pm,pn,etc.).
Do the big values make trouble?
Please let me know how to fix it.

Thank you so much!
Don

PS. The error messages are as following.


Power filter parameters, Fgamma, gamma = 0.28400 0.00000

Minimum X-grid spacing, DXmin = 8.32171850E-02 km
Maximum X-grid spacing, DXmax = Infinity km
Minimum Y-grid spacing, DYmin = 8.15932920E-02 km
Maximum Y-grid spacing, DYmax = Infinity km
Minimum Z-grid spacing, DZmin = 2.00000000E-01 m
Maximum Z-grid spacing, DZmax = 7.37249366E+00 m

Minimum barotropic Courant Number = 5.10437379E-03
Maximum barotropic Courant Number = 4.63493059E-02
Maximum Coriolis Courant Number = 4.16000000E-04


Maximum grid stiffness ratios: rx0 = 6.746323E-01 (Beckmann and Haidvogel)
rx1 = 6.071691E+00 (Haney)


Initial basin volumes: TotVolume = 2.2712259514E+09 m3
MinVolume = 6.2605680036E+03 m3
MaxVolume = 7.2311815626E+05 m3
Max/Min = 1.1550360220E+02

NL ROMS/TOMS: started time-stepping: (Grid: 01 TimeSteps: 00000001 - 00000024)

STEP Day HH:MM:SS KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME

0 0 00:00:00 NaN NaN NaN Infinity

Elapsed CPU time (seconds):

Node # 0 CPU: 0.092
Node # 1 CPU: 0.369
Total: 0.461

Nonlinear model elapsed time profile:

Initialization ................................... 0.165 (35.7911 %)
Computation of global information integrals ...... 0.002 ( 0.4339 %)
2D/3D coupling, vertical metrics ................. 0.002 ( 0.4339 %)
Omega vertical velocity .......................... 0.001 ( 0.2170 %)
Equation of state for seawater ................... 0.002 ( 0.4339 %)
Total: 0.172 37.3098

Nonlinear model message Passage profile:

Message Passage: 2D halo exchanges ............... 0.005 ( 1.0848 %)
Message Passage: 3D halo exchanges ............... 0.004 ( 0.8676 %)
Message Passage: 4D halo exchanges ............... 0.001 ( 0.2170 %)
Message Passage: data broadcast .................. 0.192 (41.6486 %)
Message Passage: data reduction .................. 0.001 ( 0.2167 %)
Message Passage: data scattering.................. 0.014 ( 3.0367 %)
Total: 0.217 47.0714

All percentages are with respect to total time = 0.461

ROMS/TOMS - Output NetCDF summary for Grid 01:

Analytical header files used:

ROMS/Functionals/ana_btflux.h
ROMS/Functionals/ana_initial.h
ROMS/Functionals/ana_smflux.h
ROMS/Functionals/ana_stflux.h

ROMS/TOMS - Blows up ................ exit_flag: 1


MAIN: Abnormal termination: BLOWUP.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: A Grid value problem by Octant

#2 Unread post by kate »

Did you make a grid with only four corners or is this a more complicated shape? The complex shaped grids will need some help filling in the undefined parts of the domain. I'm sure it could be done in Python, but my Python assistant is on vacation right now.

sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

Re: A Grid value problem by Octant

#3 Unread post by sdsjkj »

Dear, Kate;

Thank you so much!
Yes, I made a complicated grid with OCTANT python.
Actually, when I tested Roms with grid having four coners, same depth, and no masked area, it worked.
In my opinion, on complex domain or masked domain Python fills arbitrary numbers on masked grid when it output values(pm,pn,angle, etc) into nc file.
For example, in value pm=1/dx, activie domain pm values are ok but masked area has number 9.96921x10^36. Masked array value caused "Waring: devided by zero" and Python fill the big value.
Does it cause my problem?
I appreciate it again.

Sincerely yours,
Don
Last edited by sdsjkj on Tue Dec 21, 2010 7:35 pm, edited 1 time in total.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: A Grid value problem by Octant

#4 Unread post by kate »

Yes, I expect that the masked area is causing trouble. ROMS is computing there, then multiplying by zero, but you need to have well-behaved values in the mask.

sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

Re: A Grid value problem by Octant

#5 Unread post by sdsjkj »

Dear, Kate;

Thank you for your prompt answer.
Can I input 'zero' meaning Land onto the masked cells?

Best regards,
Don
Last edited by sdsjkj on Tue Dec 21, 2010 7:36 pm, edited 1 time in total.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: A Grid value problem by Octant

#6 Unread post by kate »

Zero is a tricky number to use. I would pick something non-zero.

sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

Re: A Grid value problem by Octant

#7 Unread post by sdsjkj »

Dear, Kate;

I appreciate it.

Best regards,
Don

sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

Re: A Grid value problem by Octant

#8 Unread post by sdsjkj »

Dear, Kate;

When I ran Roms with a grid which is generated with four corners, It ran.
Thank you again.
Now I am going to try with a complex domain filling some none zero number on the masked cells.

Best regards,
Don

User avatar
hetland
Posts: 81
Joined: Thu Jul 03, 2003 3:39 pm
Location: TAMU,USA

Re: A Grid value problem by Octant

#9 Unread post by hetland »

I usually do something like this to fill in undefined values (assuming you use masked arrays for your variables):

Code: Select all

grd.dx = grd.dx.filled( grd.dx.mean() )
grd.dy = grd.dy.filled( grd.dy.mean() )
grd.dndx = grd.dndx.filled( grd.dndx.mean() )
grd.dmde = grd.dmde.filled( grd.dmde.mean() )
grd.angle = grd.angle.filled( grd.angle.mean() )
Also, the minimum depth that you will use should be specified everywhere in the domain, not just in the unmasked portion.

sdsjkj
Posts: 16
Joined: Wed Feb 03, 2010 6:59 pm
Location: University of Florida

Re: A Grid value problem by Octant

#10 Unread post by sdsjkj »

Dear, Robert Hetland;

I appreciate it.
Happy new year!

Best regards,
Don

Post Reply