ERA5_wind_problem
-
- Posts: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
ERA5_wind_problem
Hi
The tide performed well in the model and the zeta parameter fluctuated well. But I have a new problem, which is that when
I add wind files to the model and run the model, I encounter errors such as max speed or max density. However, by making the
time step smaller, I get the same error and the error appears again when I change the boundary condition too. In another part of the forum,
there was a topic with a link that I put below, and I used it a lot to give wind files to the model.
(I put this link for more useful for other friends)
viewtopic.php?p=22234&hilit=Found+Error ... 481#p22234
For wind files, I used the link below, and the modified Python file for receiving wind data is attached below.
Can the errors be caused by wind files or is the problem in the input file? Is the problem due to the resolution of the wind data?
https://github.com/trondkr/ERA5-ROMS
Thank you for your valuable answers
The tide performed well in the model and the zeta parameter fluctuated well. But I have a new problem, which is that when
I add wind files to the model and run the model, I encounter errors such as max speed or max density. However, by making the
time step smaller, I get the same error and the error appears again when I change the boundary condition too. In another part of the forum,
there was a topic with a link that I put below, and I used it a lot to give wind files to the model.
(I put this link for more useful for other friends)
viewtopic.php?p=22234&hilit=Found+Error ... 481#p22234
For wind files, I used the link below, and the modified Python file for receiving wind data is attached below.
Can the errors be caused by wind files or is the problem in the input file? Is the problem due to the resolution of the wind data?
https://github.com/trondkr/ERA5-ROMS
Thank you for your valuable answers
- Attachments
-
- era5_msnlwrf_year_2013_roms.nc
- one of my wind forcing files among 13 files
- (17.69 MiB) Downloaded 259 times
-
- upwelling.h
- (1.75 KiB) Downloaded 302 times
-
- roms_persian.in
- (155.34 KiB) Downloaded 292 times
-
- myChaGra.log
- (263.96 KiB) Downloaded 324 times
-
- myNudRad.log
- (227.47 KiB) Downloaded 276 times
-
- Posts: 20
- Joined: Wed Jun 04, 2014 1:45 pm
- Location: Istanbul Technical University
Re: ERA5_wind_problem
Hey Amir,
The netCDF file you posted only contains the net longwave radiation flux, but looking at your log files, it seems that the files are not the problem.
One thing I try to do especially if you are starting from the zero SSH condition, is to ramp up the winds. If on the first time step of the simulation,
you have a very strong wind case, that might quickly deteriorate your results.
- Your eastern/southern SSH boundary values are rather low 10^-4 (which is on the order of 0.1 mm). I don't think that is a meaningful boundary condition
- Your both temperature and salinity open boundaries have min/max values of 0
It seems to me that you might have a problem with the boundary conditions, rather than the ERA5 files.
Bilge.
The netCDF file you posted only contains the net longwave radiation flux, but looking at your log files, it seems that the files are not the problem.
One thing I try to do especially if you are starting from the zero SSH condition, is to ramp up the winds. If on the first time step of the simulation,
you have a very strong wind case, that might quickly deteriorate your results.
- Your eastern/southern SSH boundary values are rather low 10^-4 (which is on the order of 0.1 mm). I don't think that is a meaningful boundary condition
Code: Select all
GET_NGFLD_NF90 - free-surface southern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = -8.61355162E-04 Max = -8.37803353E-04)
GET_NGFLD_NF90 - 2D u-momentum eastern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = -9.25587490E-04 Max = -8.46367620E-04)
Code: Select all
GET_NGFLD_NF90 - temperature eastern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - salinity eastern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - temperature southern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - salinity southern boundary condition, 2013-01-01 00:12:00.00
(Grid= 01, Rec=3, Index=2, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0083
(Min = 0.00000000E+00 Max = 0.00000000E+00)
Bilge.
Re: ERA5_wind_problem
User Bilge Tutak may be correct. Your temp and salt open boundary data are both zero for all times, which is something you need to fix.
But in your log file myChaGra.log I see you have open boundary conditions options for temp and salt that are:
FLATHER is not a valid option for tracers. It is only for 2D momentum. Valid choices for tracers are closed, clamped, radiation, or RadNud (radiation and nudging).
Nevertheless, your log indicates the open boundary data were read, so I'm not sure what option you actually got (but it wasn't Flather).
Notice, also, that ROMS reports the grid indices where the maximum values are occurring.
Showing the header lines that explain the information typed on every time step, and then your myChaGra.log file just before blow-up, there is
So it is blowing up somewhere in the middle in the i-direction at i=045, at j = 299 which is your northern boundary, at the surface (k=10). I would look for issues along the northern boundary with your grid or bathymetry that might be causing problems.
But fix your open boundary conditions, and open boundary data first.
Code: Select all
GET_NGFLD_NF90 - temperature eastern boundary condition, 2013-01-01 00:18:00.00
(Grid= 01, Rec=4, Index=1, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0125
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - salinity eastern boundary condition, 2013-01-01 00:18:00.00
(Grid= 01, Rec=4, Index=1, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0125
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - temperature southern boundary condition, 2013-01-01 00:18:00.00
(Grid= 01, Rec=4, Index=1, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0125
(Min = 0.00000000E+00 Max = 0.00000000E+00)
GET_NGFLD_NF90 - salinity southern boundary condition, 2013-01-01 00:18:00.00
(Grid= 01, Rec=4, Index=1, File: persian_bry.nc)
(Tmin= 0.0000 Tmax= 36.5958) t = 0.0125
(Min = 0.00000000E+00 Max = 0.00000000E+00)
Code: Select all
Variable Grid West Edge South Edge East Edge North Edge
--------- ---- ---------- ---------- ---------- ----------
temp 1 Closed Flather Flather Closed
salt 1 Closed Flather Flather Closed
Nevertheless, your log indicates the open boundary data were read, so I'm not sure what option you actually got (but it wasn't Flather).
Notice, also, that ROMS reports the grid indices where the maximum values are occurring.
Showing the header lines that explain the information typed on every time step, and then your myChaGra.log file just before blow-up, there is
Code: Select all
TIME-STEP YYYY-MM-DD hh:mm:ss.ss KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME
C => (i,j,k) Cu Cv Cw Max Speed
...
800 2013-01-01 02:13:20.00 1.107350E-01 1.266630E+04 1.266641E+04 2.367520E+14
(045,299,10) 6.443446E-03 5.474768E-03 9.687098E-02 1.126712E+01
801 2013-01-01 02:13:30.00 1.109505E-01 1.266631E+04 1.266642E+04 2.367520E+14
(045,299,10) 7.317630E-03 5.485810E-03 9.735145E-02 1.127486E+01
802 2013-01-01 02:13:40.00 1.111849E-01 1.266631E+04 1.266642E+04 2.367520E+14
(045,299,10) 6.547019E-02 5.155013E-03 1.051166E-01 5.193000E+01
Found Error: 01 Line: 321 Source: ROMS/Nonlinear/main3d.F
Found Error: 01 Line: 298 Source: ROMS/Drivers/nl_roms.h, ROMS_run
But fix your open boundary conditions, and open boundary data first.
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: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
Re: ERA5_wind_problem
Hi bilge.tutak and dear wilkin,
Thank you very much for your valuable guidance. I will check them, and I will announce the result.
Thank you very much for your valuable guidance. I will check them, and I will announce the result.
-
- Posts: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
Re: ERA5_wind_problem
Hi dear wilkin,
Did you mean to change the temperature and salinity data so that they should not be zero?
I assume that salinity and temperature are closed in the new implementation and I did not
provide any data for them. I also corrected the open boundary condition but got the same error again.
Once again, using MATLAB, I assumed a minimum depth of 20 meters (in the grid file) for
the entire range, and this made the model run more, but again, like the previous model error, it stopped.
Did you mean to change the temperature and salinity data so that they should not be zero?
I assume that salinity and temperature are closed in the new implementation and I did not
provide any data for them. I also corrected the open boundary condition but got the same error again.
Once again, using MATLAB, I assumed a minimum depth of 20 meters (in the grid file) for
the entire range, and this made the model run more, but again, like the previous model error, it stopped.
Code: Select all
4653 2013-01-01 12:55:30.00 1.002121E+00 1.202943E+04 1.203043E+04 2.493155E+14
(411,097,10) 5.894537E-04 2.799246E-03 9.955804E+00 1.452783E+01
4654 2013-01-01 12:55:40.00 9.619426E-01 1.202957E+04 1.203053E+04 2.493162E+14
(354,059,10) 4.401671E-03 8.777663E-04 9.272842E+00 1.735941E+01
4655 2013-01-01 12:55:50.00 9.365775E-01 1.202966E+04 1.203060E+04 2.493167E+14
(339,070,10) 8.058252E-03 9.768815E-03 1.050440E+01 2.014264E+01
Found Error: 01 Line: 321 Source: ROMS/Nonlinear/main3d.F
Found Error: 01 Line: 298 Source: ROMS/Drivers/nl_roms.h, ROMS_run
Blowing-up: Saving latest model state into RESTART file
REASON: MaxSpeed = 2.0E+01
WRT_RST_NF90 - wrote re-start fields (Index=1,2) in record = 3
- Attachments
-
- logfile.log
- (1.29 MiB) Downloaded 265 times
-
- bry_and_grid.rar
- (13.17 MiB) Downloaded 243 times
Re: ERA5_wind_problem
You have Rad + Nud boundary conditions for u,v but your logfile indicates the nuding time scale is zero. So you have only radiation, but that's probably OK. Boundary velocities will be controlled more by 2D Flather. I would just use Rad for u,v anyway.
But if boundaries are open for u,v I don't think it makes much sense to choose closed for temp,salt on the same boundary.
You have ANA_VMIX ... a simple uniform vertical turbulent viscosity and diffusivity, and the values are small. This may be allowing strong acceleration in the surface layer if momentum is not able to mix down effectively. You may also be getting statically unstable stratification. A more realistic vertical turbulence closure scheme like GLS_MIXING would likely perform more robustly.
MIX_S_TS with sloping s-coordaintes (you have variable topography) will induce spurious vertical mixing. MIX_GEO_TS would be better.
You have quite small values of horizontal viscosity (visc2) of 5 m2/s, which for your grid size (2800 m) gives a grid Reynolds number (assuming U = 1 m/s) of dx.U/visc2 = 280. So the visc2 is not especially large. Look at your solution and if it is very noisy you might consider increasing the viscosity.
But if boundaries are open for u,v I don't think it makes much sense to choose closed for temp,salt on the same boundary.
You have ANA_VMIX ... a simple uniform vertical turbulent viscosity and diffusivity, and the values are small. This may be allowing strong acceleration in the surface layer if momentum is not able to mix down effectively. You may also be getting statically unstable stratification. A more realistic vertical turbulence closure scheme like GLS_MIXING would likely perform more robustly.
MIX_S_TS with sloping s-coordaintes (you have variable topography) will induce spurious vertical mixing. MIX_GEO_TS would be better.
You have quite small values of horizontal viscosity (visc2) of 5 m2/s, which for your grid size (2800 m) gives a grid Reynolds number (assuming U = 1 m/s) of dx.U/visc2 = 280. So the visc2 is not especially large. Look at your solution and if it is very noisy you might consider increasing the viscosity.
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: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
Re: ERA5_wind_problem
Dear wilkin,
Thank you for sharing your experiences.
As you said, I changed the settings, except that I have not yet set the salinity and temperature to the boundary. When I increased the visc2, I still did not see any noticeable changes and there are still MaxDensity and MaxSpeed errors in the northwest part of the domain. By changing the header and input many times, I get an error again in the same part.
Thank you for sharing your experiences.
As you said, I changed the settings, except that I have not yet set the salinity and temperature to the boundary. When I increased the visc2, I still did not see any noticeable changes and there are still MaxDensity and MaxSpeed errors in the northwest part of the domain. By changing the header and input many times, I get an error again in the same part.
- Attachments
-
- modified_grid.log
- (179.24 KiB) Downloaded 275 times
-
- error (2).JPG (71.57 KiB) Viewed 14108 times
-
- Posts: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
Re: ERA5_wind_problem
Hi Wilkin,
As you said, I use Rad for u and v, and RadNud for the free surface(but my nudging time scale is zero). Although the boundary file is read,
it does not affect anything inside the domain. It is as if the edge of the border is stuck(It is visible in 2D mode) and does not allow it to be applied properly inside the domain. In another case, I considered the Cha for free surface and Rad for u and v, in which the boundary file was not recognized in the output.
As I read in this forum, several modes may be considered for OBC and all of them are correct.
My question is how do I select OBC to read my boundary file correctly?
As you said, I use Rad for u and v, and RadNud for the free surface(but my nudging time scale is zero). Although the boundary file is read,
it does not affect anything inside the domain. It is as if the edge of the border is stuck(It is visible in 2D mode) and does not allow it to be applied properly inside the domain. In another case, I considered the Cha for free surface and Rad for u and v, in which the boundary file was not recognized in the output.
As I read in this forum, several modes may be considered for OBC and all of them are correct.
My question is how do I select OBC to read my boundary file correctly?
Re: ERA5_wind_problem
The boundary condition options are described here: https://www.myroms.org/wiki/Boundary_Conditions
Only the Clamped and Flather conditions use boundary zeta.
Only the Flather condition uses boundary ubar/vbar.
If you choose to continue this discussion, please start another thread. This topic has nothing to do with ERA5 winds.
Only the Clamped and Flather conditions use boundary zeta.
Only the Flather condition uses boundary ubar/vbar.
If you choose to continue this discussion, please start another thread. This topic has nothing to do with ERA5 winds.
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: 43
- Joined: Tue Feb 11, 2020 6:03 pm
- Location: IUST
Re: ERA5_wind_problem
very well. Thanks for your instant response, wilkin.