problems in runing Roms with tidal forcing
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
problems in runing Roms with tidal forcing
HELLO, I am going to run roms in a domain with one open boundary(in south) in tidal region for first time.I have made a ROMS netcdf forcing file, using OSU Tidal Data Prediction Software(OTPS). when I closed every bounary, the model run successfully, but when I open the south boundary, a problem had happened.
- Attachments
-
- 3.PNG (52.3 KiB) Viewed 14892 times
-
- 2.PNG (17.02 KiB) Viewed 14892 times
Re: problems in runing Roms with tidal forcing
First, Flather is only a barotropic option, not an option for baroclinic velocities. I don't know if that caused your problem or not.
Second, when getting that sort of seg fault report, I would recompile with USE_DEBUG turned on and rerun. At least some of those "Unknown"s should turn into useful information. The name of the executable should change to oceanG.
Second, when getting that sort of seg fault report, I would recompile with USE_DEBUG turned on and rerun. At least some of those "Unknown"s should turn into useful information. The name of the executable should change to oceanG.
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
Thank you Kate, but I don't know which Lateral Boundary Condition Types that I should change 'Fla' to, after the generation of the grid, I just want to add the tidal forcing file to see the variation of water level, and draw the cotidal lines. I didn't want to think about the changes of temperature and salinity.
Re: problems in runing Roms with tidal forcing
Easiest is to turn off SOLVE_3D and run barotropically.
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
I set '#undef SOLVE3D' in my *.h file, and set Time-Stepping parameters 'NDTFAST == 0' in my *.in file, but it doesn't work. Then I recompile with USE_DEBUG turned on and rerun.
- Attachments
-
- 捕获.PNG (46.42 KiB) Viewed 14858 times
Re: problems in runing Roms with tidal forcing
In roms wiki :
ndtfast
Number of barotropic time-steps between each baroclinic time step. If only 2D configuration, ndtfast should be unity since there is no need to split time-stepping.
So NDTFAST cannot be == 0 ...
ndtfast
Number of barotropic time-steps between each baroclinic time step. If only 2D configuration, ndtfast should be unity since there is no need to split time-stepping.
So NDTFAST cannot be == 0 ...
Re: problems in runing Roms with tidal forcing
You're getting a error in check_multifile.f90, which handles the processing of the list of forcing files. This says to me there is something wrong with that list or one of the files in it.
Check that you have the correct NNFILES parameter, and that you have followed the instructions for the syntax for the list.
On open boundary conditions, for a start just use Rad for Uvel,Vel,TKE,Tvar. (Cha for Fsur and Fla for Ubar,Vbar).
I don't think #undef SOLVE3D is going to help to debug at this stage, and may only mislead you because it will not activate parts of the code you need.
Check that you have the correct NNFILES parameter, and that you have followed the instructions for the syntax for the list.
On open boundary conditions, for a start just use Rad for Uvel,Vel,TKE,Tvar. (Cha for Fsur and Fla for Ubar,Vbar).
I don't think #undef SOLVE3D is going to help to debug at this stage, and may only mislead you because it will not activate parts of the code you need.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
Re: problems in runing Roms with tidal forcing
Check_multifile is also checking BRY and CLM files. We need to ask exactly which ROMS this is? Also, exactly which ocean.in did you start with? Are they from consistent sources?
If you want to run in barotropic mode, you need ndtfast=1.
If you want to run in barotropic mode, you need ndtfast=1.
- m.hadfield
- Posts: 521
- Joined: Tue Jul 01, 2003 4:12 am
- Location: NIWA
Re: problems in runing Roms with tidal forcing
Not only do you know that the crash occurs in check_multifile, you know that it involves a variable called check_multifile_$LCHECK (which I think is a local or module level variable called lcheck in the scope of check_multifile) being used at line 74 without a value being set.
Time to employ the magic trick of adding a suitable print statement just before this line, recompiling and rerunning. Repeat as necessary. Think about where lcheck is supposed to be set, and why this isn't happening in your case.
Since this code has been run by many people without this problem, it is probably a matter of malformed input as Kate and John suggest. Check whether your input is correct for the particular version of the code you have, eg. there are ROMS versions that require you to specify the number of boundary or climatology files and others that don't. Another trap for the unwary is the presence of non-space characters like tabs in the input, though I don't think this is the problem here.
Time to employ the magic trick of adding a suitable print statement just before this line, recompiling and rerunning. Repeat as necessary. Think about where lcheck is supposed to be set, and why this isn't happening in your case.
Since this code has been run by many people without this problem, it is probably a matter of malformed input as Kate and John suggest. Check whether your input is correct for the particular version of the code you have, eg. there are ROMS versions that require you to specify the number of boundary or climatology files and others that don't. Another trap for the unwary is the presence of non-space characters like tabs in the input, though I don't think this is the problem here.
Last edited by m.hadfield on Tue May 31, 2016 11:47 pm, edited 1 time in total.
Re: problems in runing Roms with tidal forcing
Mark makes a good point about TAB characters in the ocean.in. This trips up a lot of people.
You can test for the existence of TABs in a file called ocean.in with grep:
You can test for the existence of TABs in a file called ocean.in with grep:
Code: Select all
grep $'\t' ocean.in
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
Thanks all your kind answer and suggestion, I got a feedback about CHECK_MULTIFILE, could you mind tell me how to deal with the initialization time.Attachment are my *.h and *.in files, if my cpp options are wrong.
- Attachments
-
- bhsea.in.txt
- (33.51 KiB) Downloaded 411 times
-
- bhsea.h.txt
- (1.92 KiB) Downloaded 401 times
Re: problems in runing Roms with tidal forcing
What times do you have in your boundary file? What time do you want your initial time to be?
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
I change "define ADD_M2OBC" into "define ANA_M2OBC" in my *h file and the model can run successfully
Re: problems in runing Roms with tidal forcing
What that did was turn off reading your boundary conditions file and use the analytical default (which is zero), so though the model runs it's not using the data you wanted it do.I change "define ADD_M2OBC" into "define ANA_M2OBC" in my *h file and the model can run successfully
The CHECK_MULTIFILE error is saying that the time in your initial conditions file (reported as 0:00) is not spanned by the times in your boundary conditions files. All times (ocean_time, bry_time) have to use the same time base ("days since ....") so just check that the boundary times in the netcdf file are monotonic and bracket 0. (This does not appear to be anything to do with .h and .in).
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
Thank you wilkin,Here is the situation, I didn't prepare boundary conditions files, I have a grid.nc and a tidal-forceing.nc, just run the model with only tidal force. In this case, I can't change the *h file into this?
/* %%%%%%%%%%%%%%%%%% tide %%%%%%%%%%%%%%%%%*/
# define SSH_TIDES
# define UV_TIDES
# ifdef SSH_TIDES /* if turn on SSH_TIDES */
# define ANA_FSOBC
# endif
# ifdef UV_TIDES /* if turn on UV_TIDES */
# define ANA_M2OBC
# endif
/* %%%%%%%%%%%%%%%%%% tide %%%%%%%%%%%%%%%%%*/
# define SSH_TIDES
# define UV_TIDES
# ifdef SSH_TIDES /* if turn on SSH_TIDES */
# define ANA_FSOBC
# endif
# ifdef UV_TIDES /* if turn on UV_TIDES */
# define ANA_M2OBC
# endif
Re: problems in runing Roms with tidal forcing
That will do what you want. What happened in your case was that:# define SSH_TIDES
# define ANA_FSOBC
* You defined ADD_FSOBC: this tells ROMS it needs information on zeta_north etc.
* The default, with no other instruction, is for ROMS to attempt to acquire zeta_north etc. from the boundary conditions netcdf files.
* ROMS searched your boundary condition file (which only has tide information) for zeta_north, was unsuccessful, and gave you the admittedly unhelpful error message from "check_multifile." The particular error was probably thrown because a tides file has no time coordinate variable, so ROMS got messed up trying to find the time that corresponds to initial conditions.
* You then defined ANA_FSOBC, which tells ROMS not to read zeta_north etc. from the boundary condition file but instead compute it inside analytical.F by including the Functional ana_fsobc.h.
John Wilkin: DMCS Rutgers University
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
71 Dudley Rd, New Brunswick, NJ 08901-8521, USA. ph: 609-630-0559 jwilkin@rutgers.edu
-
- Posts: 50
- Joined: Tue Mar 01, 2016 1:38 am
- Location: the Ocean University of China
Re: problems in runing Roms with tidal forcing
Thanks your detailed description, I got the key point. Thanks!!!