Single File Meteorological Forcing Input (fort.22)

A single meteorological input file (wind velocity and atmospheric pressure) is read when NWS= 1, 2, -2, 3, 4, -4, 5, -5, 6, 101, 102, -102, 103, 104, -104, 105, -105, 106 in the Model Parameter and Periodic Boundary Condition File. See notes at the end of this section for additional information on the contents of this file.

The spatial extents of the meteorological must be consistent with the ADCIRC model domain.  For example, if ADCIRC uses negative longitude values to indicate locations W of the Greenwich meridian, the meteorological file must be similarly organized.  Any grid that crosses the Greenwich Meridian should be organized so that the seam occurs @ 180 deg longitude. Therefore, the meteorological and ADCIRC grids should use negative longitudes W of the Greenwich Meridian and positive longitudes to the E.  

The basic file structure is shown below. Each line of input data is represented by a line containing the input variable name(s) in bold face type. Blank lines are only to enhance readability. Loops indicate multiple lines of input. Conditional input is indicated by an if clause. Definitions of each variable are provided via hot links.

 

If NWS = 1 or 101
for k=1,NP
JN, WSX(k), WSY(k), PRN(k,j)
end k loop

If NWS = 2, -2, 102 or -102
for k=1, NP
JN, WSX(k), WSY(k), PRN(k,j)
end k loop

If NWS = 3 or 103
IWTIME
for k = 1,NWLAT
for j = 1,NWLON
WSPEED(k,j)
end j loop
end k loop
for k = 1, NWLAT
for j = 1, NWLON
WDIR(k,j)
end j loop
end k loop

If NWS = 4, -4, 104 or -104
FOREACH WIND TIME INCREMENT
DO UNTIL LINE = " #"
JN, WVNX(JN), WVNY(JN), PRN(k,j)
END DO UNTIL
END FOREACH

If NWS = 5, -5, 105, or -105
for k = 1, NP
JN, WVX(k), WVY(k), PRN(k,j)
end k loop

If NWS = 6 or 106
for k=1, NWLAT
for j=1, NWLON
WVXFN(k,j), WVYFN(k,j)PRN(k,j)
end j loop
end k loop

If NWS = 7 or -7
for k=1, NWLAT
for j=1, NWLON
WVXFN(K,J),WVYFN(K,J),PRN(K,J)
END DO
END DO

If NWS = 8 or 9 use the ATCF Best Track/Objective Aid/Wind Radii Format.

If NWS = 10
for k=1, LONB*LATB
PG(k), UG(k), VG(k)
end j loop

If NWS = 11
for k=1, LONB*LATB
PG(k), UG(k), VG(k)
end j loop

If NWS = 12
NWSET
NWBS
DWM

 

General Note:

Meteorological data must be provided for the entire model run, otherwise the run will crash!!!

Notes for NWS = 1, 101

Meteorological data is input directly to all nodes in the ADCIRC grid.

The first set of met. data corresponds to TIME=STATIM+DTDP. Additional sets of met data must be provided at every time step, (WTIMINC = DTDP).

Wind stress must be input in units of velocity squared (consistent with the units of gravity) and surface atmospheric pressure must be input in units of equivalent height of water (e.g., meters of water, feet of water that are consistent with the units of gravity). Stress in these units is obtained by dividing stress in units of force/area by the reference density of water. Pressure in these units is obtained by dividing pressure in units of force/area by the gravitational constant and the reference density of water.  For example, 10^5Pa =10^5 N/m^2 =10^5 kg m/(s m)^2 divided by 9.81 m/s^2 and 10^3 kg/m^3 equals 10.2 meters of water.

Notes for NWS = 2, -2, 102 or -102

Meteorological data is input directly to all nodes in the ADCIRC grid.

If NWS = 2 or 102, the first set of met. data corresponds to TIME=STATIM. If NWS = -2 or ?102, the first set of met data corresponds to TIME=HOT START TIME. Additional sets of met. data must be provided every WTIMINC, where WTIMINC is the met. data time interval and is specified in the Model Parameter and Periodic Boundary Condition File. Met data is interpolated in time to the ADCIRC time step.

Wind stress must be input in units of velocity squared (consistent with the units of gravity) and surface atmospheric pressure must be input in units of equivalent height of water (e.g., meters of water, feet of water that are consistent with the units of gravity).  Stress in these units is obtained by dividing stress in units of force/area by the reference density of water.  Pressure in these units is obtained by dividing pressure in units of force/area by the gravitational constant and the reference density of water.  For example, 10^5Pa =10^5 N/m^2 =10^5 kg m/(s m)^2 divided by 9.81 m/s^2 and 10^3 kg/m^3 equals 10.2 meters of water.

Notes for NWS = 3, 103  -  US Navy Fleet Numeric format

Meteorological data is input to a longitude, latitude grid and interpolated in space onto the ADCIRC grid.  The ADCIRC grid must be in lon, lat coordinates.

The first set of met. data must be at or before the date and time listed in the Model Parameter and Periodic Boundary Condition File as the beginning time of the simulation. Additional sets of met. data must be provided every WTIMINC, where WTIMINC is the met. data time interval.  Values for NWLAT, NWLON, WTIMINC, and several other parameters must be set in the Model Parameter and Periodic Boundary Condition File. Met data is interpolated in time to the ADCIRC time step.

Wind velocity (@ 10 m above the water surface) must be input in units of m/s (regardless of the units of gravity).

The following relations are used to compute wind stress from the input wind velocity.

WIND_SPEED = magnitude of WIND_VEL

DRAG_COEFF = 0.001*(0.75+0.067*WIND_SPEED)

If (DRAG_COEFF.gt.0.003) DRAG_COEFF=0.003

WIND_STRESS = DRAG_COEFF*0.001293*WIND_VEL*WIND_SPEED

Notes for NWS = 4, -4, 104 or -104  -  PBL Hurricane Model format

Meteorological data is input directly to a subset of nodes in the ADCIRC grid (as specified by the node number JN).  The ADCIRC grid must be either in lon, lat coordinates or in meter-based Cartesian coordinates.

If NWS = 4 or 104, the first set of met. data corresponds to TIME=STATIM.  If NWS = -104 or -4, the first set of met data corresponds to TIME=HOT START TIME. Additional sets of met. data must be provided every WTIMINC, where WTIMINC is the met. data time interval and is specified in the Model Parameter and Periodic Boundary Condition File. Met data is interpolated in time to the ADCIRC time step.

Each data line must have the format I8, 3E13.5.  Data input lines are repeated for as many nodes as desired.  A line containing the # symbol in column 2 indicates met data at the next time increment begins on the following line.  At each new time, any node that is not specified in the input file is assumed to have zero wind velocity and pressure = 1013.

Wind velocity (assumed to be 10m 10 minute averaged value) must be input in knots and surface atmospheric pressure must be input in hundredths of a millibar.

The following relations are used to compute wind stress from wind velocity:

WIND_VEL{m/s @ 10m} = WIND_VEL{knots @ bl average}*0.5144 (In prior ADCIRC versions, an additional factor of 1.04 was included in the formulation to convert from 30 minute avg winds to 10 minute avg winds. This factor was removed and it is currently assumed that the input wind data uses a 10 minute averaging period. Note, this is unrelated to the value of WTIMINC).

WIND_SPEED = magnitude of WIND_VEL

DRAG_COEFF = 0.001*(0.75+0.067*WIND_SPEED)

if(DRAG_COEFF.gt.0.003) DRAG_COEFF=0.003

WIND_STRESS = DRAG_COEFF*0.001293*WIND_VEL*WIND_SPEED

The following relationship is used in ADCIRC to convert to pressure in meters of water from pressure in hundredths of a millibar:

PRESSURE{m H2O}=PRESSURE{Pa/100}*100/(GRAVITY*DENSITY H2O).

Notes for NWS = 5, -5, 105, -105

Meteorological data is input directly to all nodes in the ADCIRC grid.  The ADCIRC grid must be either in lon, lat coordinates or in meter-based Cartesian coordinates.

If NWS = 5 or 105, the first set of met. data corresponds to TIME=STATIM.  If NWS = -105 or -5, the first set of met data corresponds to TIME=HOT START TIME. Additional sets of met. data must be provided every WTIMINC, where WTIMINC is the met. data time interval and is specified in the Model Parameter and Periodic Boundary Condition File. Met data is interpolated in time to the ADCIRC time step.

Wind velocity (@ 10 m above the water surface) must be input in m/s and surface atmospheric pressure must be input in meters of water.

The following relations are used to compute wind stress from wind velocity:

WIND_SPEED = magnitude of WIND_VEL

DRAG_COEFF = 0.001*(0.75+0.067*WIND_SPEED)

if(DRAG_COEFF.gt.0.003) DRAG_COEFF=0.003

WIND_STRESS = DRAG_COEFF*0.001293*WIND_VEL*WIND_SPEED

Notes for NWS = 6, 106

In versions 43 and earlier the format of input was P, U, V. The input has now changed to U, V, P to be consistent with other NWS formats.

Meteorological data is input on a rectangular grid (either in Longitude, Latitude or Cartesian coordinates, consistent with the grid coordinates) and interpolated in space onto the ADCIRC grid.  In setting up the meteorological grid it is assumed that y (e.g., latitude) varies from north (k=1) to south (k=NWLAT) and x (e.g., longitude) varies from west (j=1) to east (j=NWLON).  The spatial extents of the meteorological grid must be consistent with the ADCIRC model domain.  For example, if ADCIRC uses negative longitude values to indicate locations W of the Greenwich meridian, the meteorological file must be similarly organized.  Any grid that crosses the Greenwich Meridian should be organized so that the seam occurs @ 180 deg longitude. Therefore, the meteorological and ADCIRC grids should use negative longitudes W of the Greenwich Meridian and positive longitudes to the E.  

The meterological grid MUST cover the entire ADCIRC mesh; that is, the ADCIRC mesh must be ENTIRELY within the meteorological grid or an error will result.

The first set of met. data corresponds to the beginning time of the current simulation. If the model is cold started this corresponds to TIME=STATIM.  If the model is hot started, this corresponds to TIME=HOT START TIME. Additional sets of met. data must be provided every WTIMINC, where WTIMINC is the met. data time interval.  Values for NWLAT, NWLON, WTIMINC, and several other parameters must be set in the Model Parameter and Periodic Boundary Condition File. Met data is interpolated in time to the ADCIRC time step.

Wind velocity (@ 10 m above the water surface) must be input in units of m/s and surface atmospheric pressure must be input in units of Pascals = Newtons/square meter.

The following relations are used to compute wind stress from the input wind velocity.

WIND_SPEED = magnitude of WIND_VEL

DRAG_COEFF = 0.001*(0.75+0.067*WIND_SPEED)

If (DRAG_COEFF.gt.0.003) DRAG_COEFF=0.003

WIND_STRESS = DRAG_COEFF*0.001293*WIND_VEL*WIND_SPEED

The following relationship is used in ADCIRC to convert to pressure in meters of water from pressure in Pascal:

PRESSURE{m H2O}=PRESSURE{Pascal}/(GRAVITY*DENSITY H2O).

Notes for NWS = 8

Hurricane parameters are read in from the Single File Meteorological Forcing Input File. Wind velocity and atmospheric pressure are calculated at every node on the fly by ADCIRC internally using the Dynamic Holland model. The input file is fixed width (not comma separated values or csv) and is assumed to correspond to the ATCF Best Track/Objective Aid/Wind Radii Format. Historical tracks, real-time hindcast tracks and real-time forecast tracks may be found in this format. Selecting NWS = 8 also requires the specification of the cold start time, storm number, and boundary layer adjustment (see YYYY MM DD HH24 StormNumber BLAdj). Garret's formula is used to compute wind stress from the wind velocity.

The symmetric vortex model (NWS=8) in ADCIRC assumes that the longitudes in the fort.22 are west longitude, so it multiplies the longitude values by -1. It ignores the 'E' or 'W' in the longitude column of the fort.22.

The symmetric vortex model (NWS=8) does not use any of the isotach wind speeds or wind radii data. When reading lines labeled "BEST" from the fort.22, it obtains timing information from the year, month, day, and hour in column 3. When reading lines labeled "OFCL" from the fort.22, it uses the forecast increment (a.k.a. TAU) from column 6. The use of these two different columns by ADCIRC NWS=8 is to maintain consistency with the official file structure for the ATCF file format.

For NWS=8, ADCIRC knows the current time because the user provides the year, month, day, and hour of cold start on the WTIMINC line in your fort.15. It also has the time that has elapsed since cold start, because that is provided in the hotstart file, if any. It then compares the current time with the date/times in the fort.22 (as described in the previous paragraph) to automatically find the right place to begin reading data from the fort.22.

So, in summary, if the whole fort.22 consists of "BEST" lines, the symmetric vortex model (NWS=8) only looks at column 3 for time information. And it automatically knows where to start reading cyclone data, based on the coldstart date/time the user provides in the fort.15 file.

Notes for NWS = 9

Hurricane parameters are read in from the Single File Meteorological Forcing Input File. It is assumed that the first entry in the Single File Meteorological Forcing Input File corresponds to the beginning of the model run (e.g., the cold start time). Wind velocity and atmospheric pressure are calculated at exact finite element mesh node locations and directly coupled to ADCIRC at every time step using the asymmetric hurricane vortex formulation (Mattocks et al, 2006; Mattocks and Forbes, 2008) based on the Holland gradient wind model. The input file is fixed width (not comma separated values or csv) and is assumed to correspond to the ATCF Best Track/Objective Aid/Wind Radii Format. Historical tracks, real-time hindcast tracks and real-time forecast tracks may be found in this format. This option uses the radii at specific wind speeds (34, 50, 64, 100 knots) reported in the four quadrants (NE, SE, SW, NW) of the storm to calculate the radius of maximum winds as a function of the azimuthal angle. Garret's formula is used to compute wind stress from the wind velocity.
In order to use the NWS=9 option, the file needs to be in best track format. The forecast period (column #6) needs to be edited to reflect the time of the forecast/nowcast for each track location (each line) in hours from the start of the simulation (0, 6, 12, 18, etc). The original data in that column depends on what type of best track format data is being used. The original data might have 0 or other numbers in that column. See: http://www.nrlmry.navy.mil/atcf_web/docs/database/new/abrdeck.html
It is suggested that users change the "BEST" tech type to "ASYM" in column 5 in the fort.22 file to denote that the file has been modified to accommodate the asymmetric wind formulation (the simulation time in hours in the 6th column has been added, etc.) so it will not get confused in the future with a best track file.
The NWS=9 option requires the following variables in the fort.22 file in a best track format:
1) Forecast time in hours (column 6); enter the time in hours in each record starting at 0
2) Latitude of the eye (column 7)
3) Longitude of the eye (column 8)
4) Maximum sustained wind speed in knots (column 9)
5) Minimum sea level pressure in MB (column 10)
6) Wind intensity in knots of the radii defined in the record (34, 50, 64 or 100 knots) (column 12)
7) Radius of specified wind intensity for quadrants 1, 2, 3, 4 in NM (columns 14, 15, 16, 17); ≠ 0
8) Background pressure in MB (column 18); a standard value of 1013 can be used
Below is a sample fort.22 file and the columns that are required:


Required columns:               6    7      8     9    10       12         14    15    16    17   18

AL, 13, 2003090800,   , ASYM,   0, 158N,  397W,  80,  976, HU,  34, NEQ,   80,   80,   80,   80, 1013,  220,  25,   0,   0, ...
AL, 13, 2003090806,   , ASYM,   6, 165N,  409W,  95,  966, HU,  34, NEQ,   90,   90,   90,   90, 1013,  220,  25,   0,   0, ...
AL, 13, 2003090812,   , ASYM,  12, 171N,  420W, 110,  952, HU,  34, NEQ,   90,   90,   90,   90, 1013,  220,  25,   0,   0, ...
AL, 13, 2003090818,   , ASYM,  18, 176N,  431W, 110,  952, HU,  34, NEQ,  120,  100,  100,  120, 1013,  220,  25,   0,   0, ...
AL, 13, 2003090900,   , ASYM,  24, 182N,  441W, 115,  948, HU,  34, NEQ,  120,  100,   75,  120, 1013,  200,  25,   0,   0, ...

Notes for NWS = 12, -12

Most types of meteorological input data for ADCIRC use the fort.22 exclusively; however, the OWI format (activated by setting NWS=12 or -12 in the fort.15) only uses that file for a few control parameters, as described above. This is because the OWI format is capable of using nested meteorological grids (a large, coarse, basin-scale grid and a smaller, finer region-scale grid), and further specifies that wind and pressure information be stored in separate files, along with information about the size, shape and location of the structured grid(s).

The basin scale pressure field must be placed in a file called "fort.221", and the basin scale wind field must be placed in a file called "fort.222". If regional scale meteorological fields are also used, they must be placed in files called "fort.223" and "fort.224". The wind velocity data must be in m/s (10 minute averaged, at 10m) and pressure data must be in millibars. The data files are fixed width, meaning that ADCIRC interprets the data according to the exact text column in which it appears. Fortran sample code is provided below to document the precise columnar spacing required.

The first line in each of the [fort.221.fort.222,fort.223, fort.224] files must be a header line that indicates the type of meteorological data in the file and the starting and ending dates of the meteorological data. An example header line (for wind data in this case) is as follows:

OWI WWS Wind Output Ucomp,Vcomp in m/s Start:1995060600 End:1995060600

where

Start indicates the starting time of the meteorological data, in YYYYMMDDHH24 format
End indicates the ending time of the meteorological data in YYYYMMDDHH24 format
The following lines represent sets of data at consecutive times; these data sets each start with a header line that describes the grid corresponding and the date/time. For example:

iLat= 67iLong= 67DX= 1.250DY= .833SWLat= 22.500SWlon= -82.500Dt=199506060000

where

iLat is the number of parallels
iLong is the number of meridians
DX is the grid spacing in degrees longitude
DY is the grid spacing in degrees latitude
SWLat is the latitude of the South West corner
SWLon is the longitude of the South West corner
Dt is the starting time of the wind data, in YYYYMMDDHH24mm format

Sample Fortran to read a win file (first time step only):

c Read in begining/ending dates of win file
10 format (t56,i10,t71,i10)
read (20,10) date1,date2

c Read Grid Specifications/Date
11 format (t6,i4,t16,i4,t23,f6.0,t32,f6.0,t44,f8.0,t58,f8.0,t69,i10,i2)
read (20,11) iLat, iLong, dx, dy, swlat, swlong, lCYMDH, iMin

c Read U/V Components of the wind
12 format (8f10.0)
read (20,12) ((uu(i,j),i=1,ilong),j=1,ilat)
read (20,12) ((vv(i,j),i=1,ilong),j=1,ilat)

Latitude Longitude for each point can be calculated as follows:

do 20 icnt = 1,iLat
slat(icnt) = SWlat + (icnt - 1) * DY
20 continue

do 30 jcnt = 1,iLong
slon(jcnt) = SWlong + (jcnt - 1) * DX
30 continue

Although the data files contain timing information, ADCIRC does not use it. Instead, the user must set WTIMINC in the fort.15 file to the time step of the two gridded meteorological data fields. As a result, ADCIRC requires that this time step be of a constant size and that all the OWI meteorological data fields be synchronized to it.

When the basin and region scale grids are both used in ADCIRC, data from the region scale grid takes precedence over data from the basin scale grid in the areas where the two grids overlap.

ADCIRC also has the ability to insert "blank" meteorological data if it is started before the beginning of the wind data (for a tidal spinup run, for example). Blank data is characterized by zero wind speed and 1013 mb of atmospheric pressure. This capability is activated via the NWBS parameter in the fort.22 file, as mentioned above, and it interacts with the sign of the NWS value in order to provide full control over the relationship between the ADCIRC start time (either hot start or cold start) and the beginning of the meteorological data. This capability and the interaction with the sign of NWS is described below.

If a NWBS is set to a positive number, NWBS specifies the number of blank snaps to be inserted before any information is read from fort.22[1-4]. This is useful when the duration of fort.22[1-4] files does not cover an entire ADCIRC run. Two examples are as follows:

Example 1) If NWS=+12, and if a hot start run is attempted from the 86400th time step, and if the first set, fort.221 and fort.222 files, starts at the 172800th time step, and if WTIMINC is set to 900 in UNIT 15, then you should set NWBS to (172800-0)/900 = 192. If the start times of the two sets are different, use the earlier start time, i.e., the start time of the first set.
Example 2) If NWS=-12, and if a hot start run is attempted from the 86400th time step, and if the first set, fort.221 and fort.222 files, starts at the 172800th time step, and if WTIMINC is set to 900 in the fort.15, then you should set NWBS to (172800 - 86400)/900 = 96. If the start times of the two sets are different, use the earlier start time, i.e., the start time of the first set.

If NWBS is set to a negative number, then NWBS determines how many snaps in the fort.22[1-4] should be skipped before the values in the files are used. This is useful when the fort.22[1-4] starts earlier than an ADCIRC run.
Example 1) If NWS=+12, and if a hot start run is attempted from the 86400th time step, and if the first set, fort.221 and fort.222 files, starts at the -86400th time step, and if WTIMINC is set to 900 in the fort.15, then you should set NWBS to (-86400-0)/900 = -96. If the start times of the two sets are different, use the earlier start time, i.e., the start time of the first set.
Example 2) If NWS=-12, and if a hot start run is attempted from the 86400th time step, and if the first set, fort.221 and fort.222 files, starts at the -86400th time step, and if WTIMINC is set to 900 in the fort.15, then you should set NWBS to (-86400-86400)/900 = -192. If the start times of the two sets are different, use the earlier start time, i.e., the start time of the first set.

If the fort.22[1-4] files are shorter in time than the duration of an ADCIRC run, the fort.22[1-4] will run out of data. However, the file reading error should be safely caught in ADCIRC and the computation will continue with blank snaps.

  Contact:   About Webpage    ADCIRC Listserv   Join ADCIRC Listserv   Request ADCIRC code Updated March 16, 2012