model time bug
model time bug
I encountered an issue while running a storm surge simulation. The files include background field, initial field, boundary field, and atmospheric files. However, ROMS encounters a time error during runtime, reaching the year 2178. I'm unsure where to make changes, whether it's in the initial field or the ERA5 forcing field. Could you please assist in resolving this issue? Below are my input files and the error message for reference.
- Attachments
-
- roms_zjw.in
- (142.59 KiB) Downloaded 143 times
-
- log.txt
- (28.94 KiB) Downloaded 140 times
Re: model time bug
Hello,
You may check the units attribute of the time variable (such as "ocean_time") in "zjw_ini.nc". If it starts with "days since", you may change it to "hours since"; Or reset its value correctly. For instance, you may need 58362/3600=16.2117 (days since 2018-09-01).
PS: This is not a bug.
You may check the units attribute of the time variable (such as "ocean_time") in "zjw_ini.nc". If it starts with "days since", you may change it to "hours since"; Or reset its value correctly. For instance, you may need 58362/3600=16.2117 (days since 2018-09-01).
PS: This is not a bug.
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: model time bug
Why do you think that it is a ROMS bug? You didn't configure your application correctly! ROMS internal time is in seconds. Any input NetCDF data into ROMS needs to have the correct units attribute to the time variable to make the proper conversion. This is my first time hearing such a message about data time management in this forum in all the years. Users need to pay attention to the following attributes of the form:
We always assume that time in any ocean application is in the Greenwich Mean Time (GMT) zone to allow comparison with observations and data assimilation.
Code: Select all
double time(time) ;
time:long_name = "time since initialization" ;
time:units = "days since 2011-01-01 00:00:00" ;
time:calendar = "gregorian" ;
or
double time(time) ;
time:long_name = "time since initialization" ;
time:units = "hours since 2011-01-01 00:00:00" ;
time:calendar = "gregorian" ;
or
double time(time) ;
time:long_name = "time since initialization" ;
time:units = "seconds since 2011-01-01 00:00:00" ;
time:calendar = "gregorian" ;