Can anyone tell me if the interpolation of forcing works? I mean that the interpolation is the interpolation done internally by ROMS.
I am trying to create forcing file (parent and child grids); however, due to the large file size, I thought it should be better for ROMS to take care of interpolation rather than creating forcing file interpolated into ROMS by me.
However, when I ran the model, all forcing data were zeros in history files and the maximum and minimum values of input data (e.g. wind velocities, heat fluxes, precipitation etc.) were 1e+35 and -1e+35 in the log, respectively (see below). These values come from Fmin and Fmax in interpolate.F.
I also checked that the values of Fout/Finp in interpolate.F and it seems that those values were NaN (did not show the values). That's why I think min and max values were 1e+35. I double-checked the values and there are no 1e+35 values in any grids of the forcing file. Also, the domain of the forcing is larger than the model domain.
Code: Select all
GET_2DFLD - surface u-wind component, 2014-01-01 01:00:00.00
(Grid=01, Rec=0000002, Index=2, File: nwgom.frc.2014.nc)
(Tmin= 16071.0000 Tmax= 16435.9583) t = 16071.0417
(Min = 1.00000000E+35 Max = -1.00000000E+35) regrid = T
I attach the metadata of the uninterpolated forcing file below. Does the metadata look wrong?
I use COWAST ver 3.5 (ROMS 3.9?).
Code: Select all
netcdf nwgom.frc.2014 {
dimensions:
time = UNLIMITED ; // (8760 currently)
lon = 81 ;
lat = 61 ;
variables:
double time(time) ;
time:long_name = "bulk formulation atmospheric forcing time" ;
time:units = "days since 1970-01-01 00:00:00" ;
double lon(lon) ;
lon:long_name = "Longitude" ;
lon:units = "degrees_east" ;
lon:axis = "X" ;
double lat(lat) ;
lat:long_name = "Latitude" ;
lat:units = "degrees_north" ;
lat:axis = "Y" ;
double Tair(time, lat, lon) ;
Tair:long_name = "surface air temperature" ;
Tair:units = "Celsius" ;
Tair:coordinates = "lon lat" ;
Tair:time = "time" ;
double Pair(time, lat, lon) ;
Pair:long_name = "surface pressure" ;
Pair:units = "millibar" ;
Pair:coordinates = "lon lat" ;
Pair:time = "time" ;
double Qair(time, lat, lon) ;
Qair:long_name = "relative humidity" ;
Qair:units = "percentage" ;
Qair:coordinates = "lon lat" ;
Qair:time = "time" ;
double rain(time, lat, lon) ;
rain:long_name = "precipitation rate" ;
rain:units = "kg m-2 s-1" ;
rain:coordinates = "lon lat" ;
rain:time = "time" ;
double swflux(time, lat, lon) ;
swflux:long_name = "net surface freshwater flux" ;
swflux:units = "cm day-1" ;
swflux:coordinates = "lon lat" ;
swflux:time = "time" ;
swflux:positive_value = "downward flux, freshening" ;
swflux:negative_value = "upward flux, salting" ;
double lwrad(time, lat, lon) ;
lwrad:long_name = "net longwave radiation flux" ;
lwrad:units = "Watts metre-2" ;
lwrad:coordinates = "lon lat" ;
lwrad:time = "time" ;
lwrad:positive_value = "downward flux, heating" ;
lwrad:negative_value = "upward flux, cooling" ;
double lwrad_down(time, lat, lon) ;
lwrad_down:long_name = "downward longwave radiation" ;
lwrad_down:units = "Watts metre-2" ;
lwrad_down:coordinates = "lon lat" ;
lwrad_down:time = "time" ;
double swrad(time, lat, lon) ;
swrad:long_name = "shortwave radiation" ;
swrad:units = "Watts metre-2" ;
swrad:coordinates = "lon lat" ;
swrad:time = "time" ;
swrad:positive_value = "downward flux, heating" ;
swrad:negative_value = "upward flux, cooling" ;
double shflux(time, lat, lon) ;
shflux:long_name = "net surface heat flux" ;
shflux:units = "Watts metre-2" ;
shflux:coordinates = "lon lat" ;
shflux:time = "time" ;
shflux:positive_value = "downward flux, heating" ;
shflux:negative_value = "upward flux, cooling" ;
double Uwind(time, lat, lon) ;
Uwind:long_name = "u-wind" ;
Uwind:units = "metre second-1" ;
Uwind:coordinates = "lon lat" ;
Uwind:time = "time" ;
double Vwind(time, lat, lon) ;
Vwind:long_name = "v-wind" ;
Vwind:units = "metre second-1" ;
Vwind:coordinates = "lon lat" ;
Vwind:time = "time" ;
double cloud(time, lat, lon) ;
cloud:long_name = "cloud fraction" ;
cloud:units = "nondimensional" ;
cloud:coordinates = "lon lat" ;
cloud:time = "time" ;
double wspd(time, lat, lon) ;
wspd:long_name = "wind speed 10m" ;
wspd:units = "metre second-1" ;
wspd:coordinates = "lon lat" ;
wspd:time = "time" ;
double sustr(time, lat, lon) ;
sustr:long_name = "surface u-momentum stress" ;
sustr:units = "Newton metre-2" ;
sustr:coordinates = "lon lat" ;
sustr:time = "time" ;
double svstr(time, lat, lon) ;
svstr:long_name = "surface v-momentum stress" ;
svstr:units = "Newton metre-2" ;
svstr:coordinates = "lon lat" ;
svstr:time = "time" ;
// global attributes:
:type = "ROMS Bulk forcing file" ;
:title = "ROMS Bulk forcing file" ;
:author = "DJ,,,, wegener.tamu.edu" ;
:dataset = "ECMWF ERA-5" ;
:NCO = "\"4.6.0\"" ;
:nco_openmp_thread_number = 1 ;
}
-DJ