Hi,
I have a question about what is default Roms internal unit for wave_time and how can I apply a scale factor to my forcing netcdf wave_time unit.
My forcing netcdf wave_time unit is in hours; I can scan (with ncview) each netcdf variable (Hwave,Lwave,Dwave..) along wave_time dimension for 193 times, one each 0.3 hour. So wave_time dimension has a MIN=0 and a MAX=57.6 hours (=2.4 days).
I assume DT=5 sec and NTIMES=41472
When I run my application, I read in my .log file:
GET_2DFLD - wind-induced wave direction, t = 0.0000
(File: Forcscheve.nc, Rec=0001, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 4.62099675E+00 Max = 4.79593447E+00)
GET_2DFLD - wind-induced significant wave height, t = 0.0000
(File: Forcscheve.nc, Rec=0001, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 2.79368877E-01 Max = 5.38707078E-01)
GET_2DFLD - wind-induced mean wavelength, t = 0.0000
(File: Forcscheve.nc, Rec=0001, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 7.50476694E+00 Max = 2.09574566E+01)
And Roms starts time stepping :
GET_2DFLD - wind-induced wave direction, t = 0.3000
(File: Forcscheve.nc, Rec=0002, Index=2)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 4.80181473E+00)
GET_2DFLD - wind-induced significant wave height, t = 0.3000
(File: Forcscheve.nc, Rec=0002, Index=2)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 5.45222461E-01)
GET_2DFLD - wind-induced mean wavelength, t = 0.3000
(File: Forcscheve.nc, Rec=0002, Index=2)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 2.21009445E+01)
STEP time[DAYS] KINETIC_ENRG POTEN_ENRG TOTAL_ENRG NET_VOLUME trd
0 0.00000 0.000000E+00 4.126621E+01 4.126621E+01 3.202136E+07 0
DEF_HIS - creating history file: ocean_his_0001.nc
WRT_HIS - wrote history fields (Index=1,1) into time record = 0000001
DEF_AVG - creating average file: ocean_avg_0001.nc
DEF_DIAGS - creating diagnostics file: ocean_dia_0001.nc
1 0.00006 1.059940E-03 4.132303E+01 4.132409E+01 3.204485E+07 0
2 0.00012 2.154392E-03 4.137532E+01 4.137747E+01 3.206675E+07 0
What's the meaning of t=0.3000?I think it is in day,because Roms reads forcing netcdf file again in timestep:
5183 0.29994 1.622943E-03 4.083678E+01 4.083840E+01 3.148417E+07 0
5184 0.30000 1.624966E-03 4.083590E+01 4.083753E+01 3.148317E+07 0
GET_2DFLD - wind-induced wave direction, t = 0.6000
(File: Forcscheve.nc, Rec=0003, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 4.80613864E+00)
GET_2DFLD - wind-induced significant wave height, t = 0.6000
(File: Forcscheve.nc, Rec=0003, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 5.68902791E-01)
GET_2DFLD - wind-induced mean wavelength, t = 0.6000
(File: Forcscheve.nc, Rec=0003, Index=1)
(Tmin= 0.0000 Tmax= 57.6000)
(Min = 0.00000000E+00 Max = 2.30897179E+01)
5185 0.30006 1.627465E-03 4.083502E+01 4.083664E+01 3.148215E+07 0
5186 0.30012 1.626755E-03 4.083413E+01 4.083575E+01 3.148113E+07 0
So Roms doesn't reads my forcing netcdf file every 0.3 hours!Roms reads my forcing file in day,every 0.3 day. Is it true?
But I want that Roms reads my forcing file every 0.3 hour!
I look in varinfo.dat to find wave_time and apply a scale factor,but I don't find it!
What can I do?
Thank for advice!
Michele.
Roms internal unit for wave_time
There is code in ROMS to parse time units. It sounds like you need to teach it what an hour is. I know it can handle seconds and days. It looks like days are the default - the code is in get_cycle.F:
Code: Select all
IF (tunits(1:6).eq.'second') THEN
Tscale=sec2day
END IF