.. _wind_formats: 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: :ref:`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. .. rubric:: Example – Filename: OSSM Format.WND .. code-block:: none 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 .. code-block:: none 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]. .. rubric:: Example – Filename: GridWindTime.wnd .. code-block:: none [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: :ref:`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. .. code-block:: none 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. .. code-block:: none 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,,; }