Wind
GNOME uses winds, in addition to the currents and diffusion, to move the oil. For small-scale uses, a single point forecast (or measured wind), is sufficient for trajectories. In this case, the time-series can be created in WebGNOME using the variable or constant wind dialog boxes, or loaded from a file. You will find it useful to load winds as a file if you are downloading archived wind observations, or if you are creating a blended time-series, with archived observations combined with a wind forecast. For large-scale areas, gridded winds generated by atmospheric circulation models can be used. Be careful in mapping latitude and longitude of the grid points with the proper projection of the model.
GNOME supports both ASCII and NetCDF formats for wind. For netcdf formats, see: Gridded NetCDF formats.
The rectangular grid wind ASCII format is [GridWindTime]
. The gridded output time series format is the same as for currents, except the starting keyword is different.
This is to prevent the user from accidentally loading a wind as a current, and vice versa. The Finite Element ASCII Format (for winds at the model nodes) is [ptWind]
.
Winds: Single Point, Time Series [OSSM]
If you input an On-Scene Spill Model (OSSM) format wind file into GNOME, a header including the units is required –
The first line lists the station name. - any string
The second line lists the station position. - lat, lon
The third line provides the units. - string – see below for allowable units
The fourth line provides the time zone offset, and optional name for the timezone. - number, string e.g. “-8, Pacific Standard Time”. The name is only informational.
The data then follows, one line per timestamp, as comma-separated values:
Day, Month, Year, Hour, Minute, Speed, Direction
of types:
integer, integer, integer, integer, integer, float, float
Times must be in increasing order. They do not need to be regularly spaced.
Direction
is the direction the wind is coming from, in degrees from North.
Allowed units are:
Unit |
Synonyms |
---|---|
knots |
|
meters per second |
m/s, MPS, |
miles per hour |
MPH, MilesPerHour |
kilometer per hour |
kph, km/hr |
Note: Direction can also be string: N, NE, NNE, etc. – though that is discouraged.
Example – Filename: OSSM Format.WND
NDBC Buoy 46028
35.770, -121.903
knots
-8, US Pacific Standard Time
5, 3, 2025, 13, 0, 13.61, 340
5, 3, 2025, 13, 10, 13.61, 330
5, 3, 2025, 13, 20, 11.66, 340
5, 3, 2025, 13, 30, 13.61, 340
5, 3, 2025, 13, 40, 13.61, 340
Winds: Rectangular Grid, Time Series [GridWindTime]
The rectangular grid surface wind model formats are very similar to the GridCurTime formats for rectangular grid time-dependent currents. The only difference is that the first line of the file changes from [GRIDCURTIME] to [GRIDWINDTIME].
Example – Filename: GridWindTime.wnd
[GRIDWINDTIME]
NUMROWS 19
NUMCOLS 26
LOLAT 36.6
HILAT 47.8
LOLONG -15.4
HILONG -4.3
[TIME] 19 11 02 1 00
1 1 0.15 -.16
1 2 0.16 -.17
1 3 0.17 -.19
1 4 0.19 -.21
. . .
NetCDF Wind formats
Note
The following is an older, deprecated format – it will likely still work, but for future proofing, see: Gridded NetCDF formats
NetCDF Rectangular Grid, Time Series
The NetCDF rectangular grid surface wind model formats are very similar to the NetCDF rectangular grid current. The only difference is that air_u and air_v are used instead of water_u and water_v for the U and V velocity components.
netcdf pwsWind2004080904 {
dimensions:
lon = 155 ;
lat = 150 ;
time = UNLIMITED ; (49 currently)
variables:
float time(time) ;
time:long_name = "Time in AST" ;
time:units = "hours since 2004-08-09 00:00:00" ;
float lon(lon) ;
lon:long_name = "Longitude" ;
lon:units = "degrees_East" ;
lon:point_spacing = "even" ;
float lat(lat) ;
lat:long_name = "Latitude" ;
lat:units = "degrees_North" ;
lat:point_spacing = "even" ;
float air_u(time, lat, lon) ;
air_u:valid_range = -30.f, 30.f ;
air_u:long_name = "Eastward Air Velocity" ;
air_u:units = "m/s" ;
air_u:_FillValue = -9.9999e+32f ;
air_u:scale_factor = 1.f ;
air_u:add_offset = 0.f ;
float air_v(time, lat, lon) ;
air_v:valid_range = -30.f, 30.f ;
air_v:long_name = "Northward Air Velocity" ;
air_v:units = "m/s" ;
air_v:_FillValue = -9.9999e+32f ;
air_v:scale_factor = 1.f ;
air_v:add_offset = 0.f ;
global attributes:
:experiment = "PWS-NFS" ;
:grid_type = "REGULAR" ;
:base_date = 2004, 8, 9 ;
data:
time = 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52 ;
lon = -148.72, -148.7, -148.68, -148.66, -148.64, -148.62, -148.6, -148.58,
-148.56, -148.54, -148.52, -148.5, -148.48, -148.46, -148.44, -148.42,
-148.4, -148.38, -148.36, -148.34, -148.32, -148.3, -148.28, -148.26,
-148.24, -148.22, -148.2, -148.18, -148.16, -148.14, -148.12, -148.1,
-148.08, -148.06, -148.04, -148.02, -148, -147.98, -147.96, -147.94,
-147.92, -147.9, -147.88, -147.86, -147.84, -147.82, -147.8, -147.78,
-147.76, -147.74, -147.72, -147.7, -147.68, -147.66, -147.64, -147.62,
-147.6, -147.58, -147.56, -147.54, -147.52, -147.5, -147.48, -147.46,
-147.44, -147.42, -147.4, -147.38, -147.36, -147.34, -147.32, -147.3,
-147.28, -147.26, -147.24, -147.22, -147.2, -147.18, -147.16, -147.14,
-147.12, -147.1, -147.08, -147.06, -147.04, -147.02, -147, -146.98,
-146.96, -146.94, -146.92, -146.9, -146.88, -146.86, -146.84, -146.82,
-146.8, -146.78, -146.76, -146.74, -146.72, -146.7, -146.68, -146.66,
-146.64, -146.62, -146.6, -146.58, -146.56, -146.54, -146.52, -146.5,
-146.48, -146.46, -146.44, -146.42, -146.4, -146.38, -146.36, -146.34,
-146.32, -146.3, -146.28, -146.26, -146.24, -146.22, -146.2, -146.18,
-146.16, -146.14, -146.12, -146.1, -146.08, -146.06, -146.04, -146.02,
-146, -145.98, -145.96, -145.94, -145.92, -145.9, -145.88, -145.86,
-145.84, -145.82, -145.8, -145.78, -145.76, -145.74, -145.72, -145.7,
-145.68, -145.66, -145.64 ;
lat = 59.79, 59.8, 59.81, 59.82, 59.83, 59.84, 59.85, 59.86, 59.87, 59.88,
59.89, 59.9, 59.91, 59.92, 59.93, 59.94, 59.95, 59.96, 59.97, 59.98,
59.99, 60, 60.01, 60.02, 60.03, 60.04, 60.05, 60.06, 60.07, 60.08, 60.09,
60.1, 60.11, 60.12, 60.13, 60.14, 60.15, 60.16, 60.17, 60.18, 60.19,
60.2, 60.21, 60.22, 60.23, 60.24, 60.25, 60.26, 60.27, 60.28, 60.29,
60.3, 60.31, 60.32, 60.33, 60.34, 60.35, 60.36, 60.37, 60.38, 60.39,
60.4, 60.41, 60.42, 60.43, 60.44, 60.45, 60.46, 60.47, 60.48, 60.49,
60.5, 60.51, 60.52, 60.53, 60.54, 60.55, 60.56, 60.57, 60.58, 60.59,
60.6, 60.61, 60.62, 60.63, 60.64, 60.65, 60.66, 60.67, 60.68, 60.69,
60.7, 60.71, 60.72, 60.73, 60.74, 60.75, 60.76, 60.77, 60.78, 60.79,
60.8, 60.81, 60.82, 60.83, 60.84, 60.85, 60.86, 60.87, 60.88, 60.89,
60.9, 60.91, 60.92, 60.93, 60.94, 60.95, 60.96, 60.97, 60.98, 60.99, 61,
61.01, 61.02, 61.03, 61.04, 61.05, 61.06, 61.07, 61.08, 61.09, 61.1,
61.11, 61.12, 61.13, 61.14, 61.15, 61.16, 61.17, 61.18, 61.19, 61.2,
61.21, 61.22, 61.23, 61.24, 61.25, 61.26, 61.27, 61.28 ;
}
Winds: NetCDF Curvilinear Grid
The NetCDF curvilinear grid surface wind model format is very similar to the NetCDF curvilinear grid current format. The only differences are (1) that air_u and air_v are recommended instead of u and v for the U and V velocity components and (2) the land mask is not used. The dimension names only need to start with X, Y or LAT, LON to be recognized. The variable names must appear as shown. The topology can be saved out the first time and reloaded.
netcdf 20040726_11z_HAZMAT {
dimensions:
x = 73 ;
y = 163 ;
time = UNLIMITED ; (12 currently)
variables:
float time(time) ;
time:long_name = "Time" ;
time:base_date = 2004, 1, 1, 0 ;
time:units = "days since 2004-01-01 0:00:00 00:00" ;
time:standard_name = "time" ;
float lon(y, x) ;
lon:long_name = "Longitude" ;
lon:units = "degrees_east" ;
lon:standard_name = "longitude" ;
float lat(y, x) ;
lat:long_name = "Latitude" ;
lat:units = "degrees_north" ;
lat:standard_name = "latitude" ;
float air_u(time, y, x) ;
air_u:long_name = "Eastward Air Velocity" ;
air_u:units = "m/s" ;
air_u:missing_value = -99999.f ;
air_u:_FillValue = -99999.f ;
air_u:standard_name = "eastward_wind" ;
float air_v(time, y, x) ;
air_v:long_name = "Northward Air Velocity" ;
air_v:units = "m/s" ;
air_v:missing_value = -99999.f ;
air_v:_FillValue = -99999.f ;
air_v:standard_name = "northward_wind" ;
global attributes:
:file_type = "Full_Grid" ;
:Conventions = "COARDS" ;
:grid_type = "curvilinear" ;
:title = "Forecast: wind+tide+river" ;
data:
time = 208.4688, 208.4792, 208.4896, 208.5, 208.5104, 208.5208, 208.5312,
208.5417, 208.5521, 208.5625, 208.5729, 208.5833,,;
}