Data Format B-25 Time and Spatial Varying Fields (TVF)

Data Format B-25  Time and Spatial Varying Fields (TVF)

ASCII File Format for TVF

The ASCII File Format of TVF data contains two parts, firstly the file header and then the actual data. Example of an ASCII File Format:


*  TIME VARIABLE FORCING FIELD DATA - Version: XX

*  Project Title: XXX

*

*   INPT: Input format = 0: ((VALUES(T,N,L,K), K=1,KC), L=2,LA), N=1,NC)

*                       = 1:  L,I,J, (((VALUES(T,N,L,K), K=1,KC), L=1,NL), N=1,NC)

*       NT: Number of time steps

*       NC: Number of components (e.g., 1 for pressure, 2 for wind-X, wind-Y)

*       NL: Number of cells (Should = LA - 1 OR LC - 2)

*       NK: Number of layers (Default = 1)

*    ITRP: Interpolation between time steps (0 = No interp., 1 = Linear interp.)

*  IUPD: Flag to direct how to update the current cell value with the field value

*        0: Cell value will be replaced by the field value

*        1: Cell value will be added with the field value

*        2: Cell value will be the min. of the current value and the field value

*        3: Cell value will be the max. of the current value and the field value

*     IDST: Data operation after interpolation

*        0: Cell value = field value

*        1: Cell value = field value multiplies cell area

*   NODAT: No data. No update for cells with this field value

*    TSCL: Time conversion factor to seconds (should > 0, default 86400)

*    TSHF: Time shift (the same units as times, default 0)

*    VSCL: Value conversion factor to model units (should > 0, default 1)

*    VSHF: Value shift (the same units as values, default 0)

* YY MM DD: Base date

*

* INPT   NT   NC   NL   NK  ITRP IUPD IDST NODAT  TSCL TSHF  VSCL VSHF   YY MM DD

     0  721    1 3372    1     1    0    0  -999 86400    0     1    0 2005 01 01

234.875000 3372

1.00969e+3 1.00969e+3 1.00969e+3 1.00969e+3 1.00969e+3 1.00969e+3 1.00968e+3 1.00968e+3 1.00968e+3 1.00968e+3

1.00968e+3 1.00968e+3 1.00968e+3 1.00967e+3 1.00967e+3 1.00967e+3 1.00967e+3 1.00967e+3 1.00967e+3 1.00967e+3

1.00966e+3 1.00966e+3 1.00966e+3 1.00966e+3 1.00966e+3 1.00966e+3 1.00966e+3 1.00966e+3 1.00965e+3 1.00965e+3

a) ASCII File Header for TVF

The file header may start with comment lines which begin with an asterisk for descriptive information. The file header ends with one data line contains information on the TVF data as follows:

Explanation of the header fields:

Table 1: Description of the data field in TVF file header

INPT

Input format:

INPT = 0: The number of values and its order for each component the field in each time step is the same as grid cells.

INPT = 1: The number of values each component the field in each time step can be less than the number of the grid cells but the data lines should have cell indices (NL, IC, JC) in front of data values.

NT

Number of time steps.

NC

Number of components.

NC=1 for bathymetry, bottom roughness, barometric pressure, etc.

NC=2 for wind fields (X and Y components of wind speed).

NL

Number of grid cells. This is for QC to ensure the data matches the model grid.

NK

number of vertical layers (NK = 1 for this version).

ITRP

Interpolation option:

ITRP = 0: no interpolation, direct field applied at each time step.

ITRP = 1: linear interpolation between time steps.

IUPD

Flag to direct EFDC on how to update the current cell value with the reading value.

IUPD = 0: The cell value will be replaced by the reading value.

IUPD = 1: The cell value will be added with the reading value.

IUPD = 2: The cell value will be the min. of the current cell value and the reading value.

IUPD = 3: The cell value will be the max. of the current cell value and the reading value.

IDST

Specific option for data operation after interpolation

IDST = 0: Cell value = field value

IDST = 1: Cell value = field value multiplies cell area

TSCL

Conversion factor to convert time values to seconds (default 86400)

TSHF

Time offset having the same unit as time values (default 0)

VSCL

Conversion factor to convert the field values to the same units as in EFDC (default 1)

VSHF

Value offset having the same unit as the field values (default 0)

NODAT

No data value. Cells having this value will not change/not be updated by reading values.

YY

The year of the base date

MM

The month of the base date

DD

The day of the base date


b) ASCII File Data Blocks for TVF

Each data block for one time step begins with the time value (in Julian days from the base date) and a number of grid cells to which the data will be applied (should be the same as NL for INPT = 0).

For INPT = 0, the number of the data values in each block should be NC × NL × NK values and the FORTRAN command to read the data is as follows

READ(UNIT) TIMES(T), NL

READ(UNIT) (((VALUES(T,N,L,K), K=1,NK), L=2,LA), N=1,NC)


For INPT = 1, the number of the data values in each block can vary and the FORTRAN command to read the data is as follows

READ(UNIT) TIMES(T), NLA

READ(UNIT) L,I,J,(((VALUES(T,N,L,K), K=1, NK), LL=1, NLA), N=1,NC)


Binary File Format for TVF

The values and their orders in the binary file format are the same as the ASCII file format except it has no comments but a specific signature for this file format.

a) Binary File Header

The file header has a length of 80 bytes with the data fields are as the table bellows:

Description of the data field in a binary TVF file header

Byte Offset

Length (bytes)

Data type

Description

0

4

Integer

SIGNATURE (integer value 826559558 or hexadecimal value 0x31444C46 or characters "FLD1")

4

4

Integer

INPT

8

4

Integer

NT

12

4

Integer

NC

16

4

Integer

NL

20

4

Integer

NK

24

4

Integer

ITRP

28

4

Integer

IUPD

32

4

Integer

IDST

36

4

Float

NODAT

40

4

Float

TSCL

44

4

Float

TSHF

48

4

Float

VSCL

52

4

Float

VSHF

56

4

Integer

YY

60

4

Integer

MM

64

4

Integer

DD

68

4

Integer

Reserved

72

4

Integer

Reserved

76

4

Integer

Reserved


b) Binary Data Blocks for TVF

The data blocks of the binary format contain values the same as the ASCII file format.

For INPT = 0, the number of the data values in each block should be NC × LC × NK values and the FORTRAN command to read the data is as follows

Byte Offset

Length (bytes)

Data type

Description

0

8

Double

Time

8

4

Integer

Number of grid cells (NL)

12

4*NK*NL*NC

Single

Values


For INPT = 1, the number of the data values in each block can vary and the FORTRAN command to read the data is as follows

Byte Offset

Length (bytes)

Data type

Description

0

8

Double

Time

8

4

Integer

Number of grid cells having data in the block (NLA)

12

4

Integer

Cell index L

16

4

Integer

Cell index I

20

4

Integer

Cell index J

24

4*NK*NLA*NC

Single

Values

Data series from an individual cell prior to EE generating field file. 

C #time steps, series ID,

C time step, value. 

74496 L001
0.00000000000 4.785
0.01041666666 4.785
0.02083333334 4.785
0.03125000000 4.785
0.04166666666 4.785
0.05208333334 4.785
0.06250000000 4.785

This is the ASCII *FLD.INP files that EE generates from this data.

* ITYPE NT NC LC NK ITOPT IUPDATE IFLAG NODATA
0 2413 1 2121 1 0 0 0 -999
237.000000
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 
1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992 1009.992