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 isformat 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.

  • The second line lists the station position.

  • The third line provides the units.

Example – Filename: OSSM Format.WND

Inchon
-126.63,37.5
knots
8,4,99,01,00,10,S
8,4,99,05,00,10,S
8,4,99,09,00,10,S
8,4,99,11,00,10,S
8,4,99,15,00,10,SW
8,4,99,21,00,10,SW
9,4,99,01,00,10,SW
9,4,99,05,00,10,SW
9,4,99,09,00,10,SW
9,4,99,11,00,10,SW
9,4,99,15,00,10,SW
9,4,99,21,00,10,SW
10,4,99,01,00,10,SW
10,4,99,05,00,05,S
10,4,99,09,00,05,S
10,4,99,11,00,05,S
10,4,99,15,00,05,S
10,4,99,21,00,05,S
11,4,99,01,00,10,SW
11,4,99,05,00,10,SW
11,4,99,09,00,10,SW
11,4,99,11,00,10,W
11,4,99,15,00,10,W
11,4,99,21,00,10,W
12,4,99,01,00,25,NW
12,4,99,05,00,25,NW
12,4,99,09,00,25,NW
12,4,99,11,00,25,NW
12,4,99,15,00,25,NW
12,4,99,21,00,25,NW

Annotated Version of the File

Inchon # location (any text)
-126.63, 37.5 # longitude, latitude
knots # units

# Day,    Month,  Year,   Hour,   Min.,   Speed,  Direction
8,  4,  99, 01, 00, 0,  S
8,  4,  99, 05, 00, 10, S
8,  4,  99, 09, 00, 10, S
8,  4,  99, 11, 00, 10, S
8,  4,  99, 15, 00, 10, SW
. . .

Note: Direction can also be in degrees.

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,,;

}