floating invalid error due to incorrect OBC?

Report or discuss software problems and other woes

Moderators: arango, robertson

Post Reply
Message
Author
d.kobashi
Posts: 60
Joined: Tue Sep 28, 2010 11:59 pm
Location: Texas A&M University

floating invalid error due to incorrect OBC?

#1 Post by d.kobashi » Tue Mar 29, 2011 11:42 pm

Dear all,

I would like some help from ROMS users to resolve a problem that I have for my custom ROMS run. Hope someone could help me resolve the problem.

I run a barotropic current model for testing (by intel fortran compiler 10.1 for linux). I used tide (tidal elevation and currents) as OBC (using OSU OTPS tidal prediction package) and used wind stress and air pressure from NOAA as forcing input data. No climatology data.
When I run my custom ROMS model, I've got the following error. :?:

forrtl: error (65): floating invalid


I played with my CPPDEFS setting and checked time settings and all forcing files, but I still have this error. Then I found out that when I changed my OBC as wall boundary and unchecked tide in my CPPDEFS, then the model run without any errors. So it seems that the model cannot read or process my OBC properly. But I don't know why (Might be I did not turn on some CPP options?).

I attach my two ROMS logs with error and without error (no OBC)as well as netcdf output of my tidal forcing files and my cppdefs.

I would appreciate it if someone could point out the problem and help me solve it.

Thanks in advance.

Sincerely,

DJ

Daijiro (DJ) Kobashi, Ph.D.
Griffith University
Attachments
seq_test.h
CPPDEFS.h
(2.03 KiB) Downloaded 92 times
roms_tides.log
Netcdf output of my tidal forcing
(2.79 KiB) Downloaded 81 times
roms_out_error.log
log of ROMS run with error
(12.49 KiB) Downloaded 82 times
roms_out_no_OBC.log
log or ROMS run without error (extracted)
(15.12 KiB) Downloaded 75 times

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

Re: floating invalid error due to incorrect OBC?

#2 Post by kate » Wed Mar 30, 2011 12:05 am

Comparing your bad log file to a good one of mine, it appears to have read most of the tidal fields, but not the minimum tidal current, ellipse minor axis. You can probably confirm that by checking line 119 of get_idata.f90:

Code: Select all

    GET_2DFLD   - tidal current phase angle
                   (Min =  0.00000000E+00 Max =  6.28317112E+00)
    GET_2DFLD   - maximum tidal current, ellipse major axis
                   (Min =  0.00000000E+00 Max =  1.74164804E+00)
forrtl: error (65): floating invalid
Image              PC        Routine            Line        Source             
oceanG             081D7C77  nf_fread3d_mod_mp         205  nf_fread3d.f90
oceanG             0816E6F9  get_2dfld_                415  get_2dfld.f90
oceanG             0810B26C  get_idata_                119  get_idata.f90
oceanG             0804C7BF  initial_                  204  initial.f90
oceanG             0804A779  ocean_control_mod          94  ocean_control.f90
oceanG             0804A400  MAIN__                     75  master.f90
oceanG             0804A344  Unknown               Unknown  Unknown
libc.so.6          B75E0BD6  Unknown               Unknown  Unknown
oceanG             0804A281  Unknown               Unknown  Unknown
Aborted
Have you run ncview on the tidal input file and looked at that field? How did you produce that netcdf tides file?

d.kobashi
Posts: 60
Joined: Tue Sep 28, 2010 11:59 pm
Location: Texas A&M University

Re: floating invalid error due to incorrect OBC?

#3 Post by d.kobashi » Wed Mar 30, 2011 11:12 pm

Thanks for your input, Kate.

I used OSU tidal prediction software (matlab version. otps2frc_v3.m).
I followed the steps articulated on the ROMS tidal forcing page.
(https://www.myroms.org/wiki/index.php/Tidal_Forcing) and run the following script.

t=datenum(2007,1,1);
tpred=datenum(2008,1,1);
base_dir='../work_dir/';
gfile=[base_dir,'roms_grd.nc'];
tideout=[base_dir,'roms_tides_frc.nc'];
otps2frc_v3(gfile,t,tpred,tideout,'DATA/Model_tpxo7.2')


I checked the netcdf file using ncview as well as snctools on minimum currents (tide_Cmin) in particular those along the open boundaries as I understand ROMS only uses tidal data along the boundaries, not for the entire domain. The boundary data looked fine by me. No NaNs on the boundaries (so all data on the boundary are floating points, I assume).

Then when I played with this OSU tide software, I found out something interesting or strange.
I initially used 8 tidal constituents (m2, s2, n2, k2, k1, o1, p1, q1) resulting in the error. I reduced them to 4 major constituents, namely m2, s2, k1, o1. Then the model run with no errors..... :?

So my conclusion so far is that increase in the number of tidal constituents gave me the error... does not make sense, though.
Also, whether the error came from ROMS or the tide software is not clear. So still don't know why the error occurred. Any ideas? The model is now running, but I need to know what caused this problem for future ROMS applications. Maybe I should ask the software developer(s) of the OSU tidal prediction package.

Thanks,

Kind regards,

DJ

Daijiro Kobashi, Ph.D.
Oceanographer
Griffith University

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

Re: floating invalid error due to incorrect OBC?

#4 Post by kate » Thu Mar 31, 2011 1:19 am

ROMS indeed only uses the boundary values, but it reads the entire 2-D fields and computes the tides for the entire 2-D field (as pointed out by Sasha in another thread).

d.kobashi
Posts: 60
Joined: Tue Sep 28, 2010 11:59 pm
Location: Texas A&M University

Re: floating invalid error due to incorrect OBC? (SOLVED)

#5 Post by d.kobashi » Sat Apr 02, 2011 1:56 pm

Yep. I saw the thread discussing OBC tidal forcing too.

Following your comment, I wrote a script to check all grid data for all constituents and found that a few grids contained NaNs for Q1 constituent. :shock:
As Q1 tide does affect little to my domain so I took it out and the model run without the error. :D
Good to know what the problem was although I am not still sure what caused the problem. I thought the OSU tidal package interpolate data for my ROMS grid and use an alternative coefficient if a tidal coefficient does not exist. But I think this problem can easily be fixed by interpolating the NaNs grids.

Thanks Kate for your input.
I appreciate your help.

Kind regards,

DJ

Post Reply