Appendix B - Data Formats

Data Format B-1  P2D Polyline and Polygon File.
Any number of polylines or polygons can reside in the same file. Each one begins with a single line header that is used as the "ID" of the polyline or polygon. Next comes the data in either 2D or 3D format, the importing automatically handles either. Finally, the polyline or polygon is finished (not necessarily "closed") by an "*" in column 1. There is no difference between polyline and polygon in a P2D file, only how the data are treated by the application reading the file.
Example
------------------------
Polyline                                                            Test

609115.69390674        3643612.72035394     0

608828.057738002      3642922.39387814     0

608569.186338242      3642232.06904821     0

608396.604307826      3640908.94563456     0

...
...
...
601493.350247946      3628713.19503985     0

601464.586301899      3627763.99747289     0

601522.11337106        3627016.14485373      0

601522.11337106        3626642.21854415      0

*


Data Format B-2  TB2 XYZ Gridded Data.
This format is a compact way to store regular grid X, Y, and Z data. It contains three lists, each with the number of data points as the first value in the list. The file contains a list of the X coordinates, a list of Y coordinates, and a list of the Z's.
Example
------------------------
195                                                            Nx

-97516.6484

-96511.4938

-95506.3391

-94501.1845
...
...
...
113                                                            Ny

656865

657873.929

658882.857

659891.786
...
...
...
22035                                                        Nz

-28.337

-28.346999

-28.1969829
...
...
...

Data Format B-3  DX Polyline and Polygon File.
The DX format is described in the following outline. The vertical bar "|" indicates the actual left side of the file.

Notes                |Contents of line beginning
                         \ /Column 1 of the actual file
------------------------------------------------
Line01              |Description Line                                   ] Header lines (1st line in the file)
Line02              |#Polylines                                             ]
Line01p1          |Index,nPts,branch,type,angle,deltax     }Header lines for each polyline
Line02p1          |PolyLine ID                                           } branch,angle,deltax are only used
Line03p1          |PolyLine Desc                                      } for special cases but must be input.
Line01p1n1      |X,Y or X,Y,Z ] Data Points                     } Type = 0 Undefined (defaults to open)
Line02p1n2      |X,Y or X,Y,Z ] Loop over nPts               } Type = 1 Polyline (Open)
Line03p1n3      |X,Y or X,Y,Z ]                                        } Type = 2 Polygon (Closed)
...
Linennp2nn      |X,Y or X,Y,Z ]                                        }End of Polyline Block
Line01p2          |Index,nPts,branch,type,angle,deltax     }Header lines for each polyline
Line02p2          |PolyLine ID                                            }
Line03p2          |PolyLine Desc                                       }
Line01p2n1      |X,Y or X,Y,Z ] Data Points                      }
Line02p2n2      |X,Y or X,Y,Z ] Loop over nPts                }
Line03p2n3      |X,Y or X,Y,Z ]                                          }
...
Linennp2nn |X,Y or X,Y,Z ]                                               }End of Polyline Block


Example
---------------------------------------------
HR Test Sections
2
1,10,0,1,0,0
XS022
Geomorph XS022
55907.8741026827, 910678.007703451, 956.594
55907.2507413484, 910678.789637365, 956.594
55906.6273800142, 910679.57157128, 956.604
55906.0040186799, 910680.353505195, 956.574
55905.3806573456, 910681.135439109, 956.404
55904.7572960113, 910681.917373024, 956.884
55904.1339346771, 910682.699306939, 957.434
55903.5105733428, 910683.481240853, 956.954
55902.8872120085, 910684.263174768, 956.764
55902.2638506742, 910685.045108683, 957.564
2,22,0,1,0,0
XS023
Geomorph Transect XS023
55867.0383902119, 910642.619457468, 964.856
55866.7836519141, 910643.049699725, 961.236
55866.6308089354, 910643.307845079, 959.236
55866.2741753184, 910643.910184238, 957.346
55865.7646987227, 910644.770668752, 957.116
55865.255222127, 910645.631153266, 957.146
55864.7457455313, 910646.49163778, 957.146
55864.2362689356, 910647.352122294, 957.106
55863.7267923399, 910648.212606807, 956.976
55863.2173157442, 910649.073091321, 957.126
55862.7078391485, 910649.933575835, 956.716
55862.1983625528, 910650.794060349, 956.606
55861.688885957, 910651.654544862, 956.646
55861.1794093613, 910652.515029376, 956.696
55860.6699327656, 910653.37551389, 957.206
55860.1604561699, 910654.235998404, 957.606
55859.6509795742, 910655.096482917, 957.836
55859.1415029785, 910655.956967431, 957.716
55858.6320263828, 910656.817451945, 958.326
55858.1225497871, 910657.677936459, 958.756
55857.8678114893, 910658.108178716, 959.236
55857.8168638297, 910658.194227167, 959.246


Data Format B-4  Measured 3D Velocity Point Data (TecPlot).
TITLE = "ADCP IJK Data"

VARIABLES = "X", "Y", "Z", "V_E_W", "V_N_S", "V_U_D"

ZONE I= 257, J=1, K=1,F=POINT, T="Avg Vel"

56730.14 906511.90 288.38 -0.0443 -0.1582 -0.0001

56731.96 906530.90 288.42 -0.0570 -0.1482 -0.0001

56730.98 906533.00 288.45 -0.0599 -0.1219 -0.0001

56731.46 906535.70 288.49 -0.0578 -0.1042 -0.0001

56733.52 906512.90 288.39 -0.0548 -0.1524 -0.0001

...

...

...


Data Format B-5  I, J, K Formatted Measured 3D Velocity Data (TecPlot).
TITLE = "ADCP IJK Data"

VARIABLES = "X", "Y", "Z", "V_E_W", "V_N_S", "V_U_D"

ZONE I=40, J=26, K=1, F=POINT, T="Velocity"

56728.00 906511.00 288.54 -0.0457 -0.1574 0.00000

56732.00 906511.00 288.51 -0.0492 -0.1563 0.00000

56736.00 906511.00 288.52 -0.0549 -0.1551 0.00000

56740.00 906511.00 288.73 -0.0530 -0.1438 0.00000
...
...
...

Data Format B-6  Apply Cell Properties via Polygons: Assign Value Using Vertical Profiles
This file is used to assign a vertical and horizontally variable initial condition field for any of the water column parameters. The data is basically a series of vertical profiles at any number of locations. The following summarizes the input format for one location. This can be repeated for as many locations as needed.

Line0: Data file description

Loop over the number of vertical profile locations
    Line 1: ID                                 (any user defined ID)
    Line 2: Xc, Yc, nPts                 (nPts in vertical profile)
    Loop over nPts
       Input Depth                           (Positive depths below the water surface, m)
    End Loop
    Loop over nPts
        Input Parameter_Value         (units dependent on the parameter)
    End Loop
 End Loop


Data Format B-7  Time series observation data file structure

Data file containing observation data (.wq,.dat)

Description

10993 USGS_Speedy, Salinity, PPT
01-Jul-1999 00:00 27.7
01-Jul-1999 01:00 27.6
01-Jul-1999 02:00 27.8
01-Jul-1999 03:00 27.8
01-Jul-1999 04:00 27.7
01-Jul-1999 05:00 27.6
01-Jul-1999 06:00 27.6
01-Jul-1999 07:00 27.5
01-Jul-1999 08:00 27.5
01-Jul-1999 09:00 27.5
01-Jul-1999 10:00 27.6
01-Jul-1999 11:00 27.8
01-Jul-1999 12:00 27.9
01-Jul-1999 13:00 28
01-Jul-1999 14:00 27.9
01-Jul-1999 15:00 28
01-Jul-1999 16:00 28.1
01-Jul-1999 17:00 28.1
.......................

First line: 10993: number (N) of data points; USGS_Speedy, Name, Units: title for some meaning (here: station name, water temperature in Celsius degree). This text is only used for labeling.

Second line to N lines: Date (Gregorian) (Julian date is also OK, for example, the 370th day counting from 01-Jan-1999), time, and parameter's value. The Gregorian date format can be in any format that Windows recognizes as a date. EE uses the last parameter in the line as the data value.

The data lines are repeated for all N data points.



Data Format B-8  Vertical Profile for Calibration/Validation Profiles.

SE 03, Unknown (Unknown) @ 573370.8125, 3009112
14 18-Aug-1999 11:25
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000
6.300 6.300 7.100 7.100 7.400 9.000 10.300 10.300 11.200 11.700 12.300 14.200 16.500 17.500
12 29-Sep-1999 10:15
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000
1.600 1.600 1.600 1.700 1.700 1.700 1.700 1.700 1.700 1.700 1.700 1.700
8 18-Oct-1999 12:05
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000
0.100 0.100 0.100 0.100 0.100 0.100 0.100 0.100
13 29-Nov-1999 11:33
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500
6.300 6.700 7.500 8.400 10.600 12.100 12.700 12.700 16.700 17.000 17.100 17.200 18.400
9 15-Dec-1999 11:00
0.000 0.500 1.000 1.500 2.000 2.000 2.500 3.000 3.500
8.500 8.600 8.600 8.800 9.300 9.700 9.900 10.700 11.480
13 13-Jan-2000 10:54
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500
4.100 4.400 8.900 10.300 12.900 14.100 15.100 15.100 15.300 15.100 16.800 17.000 17.200
13 24-Feb-2000 12:26
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500
23.800 24.000 24.000 24.200 24.200 24.200 24.200 24.200 24.300 24.300 24.300 24.300 24.400
14 23-Mar-2000 10:52
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000
21.000 21.000 21.100 21.200 21.200 21.300 21.300 21.300 21.300 21.300 21.300 21.700 21.700 21.700
14 10-Apr-2000 11:26
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000
21.600 21.700 21.800 21.800 21.900 22.600 22.700 22.700 22.900 23.000 23.200 23.300 23.500 23.600
15 01-May-2000 12:00
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000 6.500
1.800 1.800 2.200 4.000 5.100 6.300 7.200 7.200 8.700 9.400 9.600 9.700 9.800 9.900 9.900
13 08-May-2000 11:15
0.000 0.500 1.000 1.500 2.000 2.500 2.500 3.000 3.500 4.000 4.500 5.000 5.500
2.300 2.500 2.700 2.700 2.800 2.900 2.900 2.900 2.900 3.200 3.900 3.900 4.200
11 25-May-2000 12:15
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500
6.100 6.100 6.100 8.200 10.900 13.700 16.100 16.100 18.700 21.200 21.600
12 07-Jun-2000 11:30
0.000 0.500 1.000 1.500 2.000 2.500 2.500 3.000 3.500 4.000 4.500 5.000
18.400 18.700 19.100 19.300 20.100 20.600 20.600 21.100 21.700 22.500 23.100 23.500
11 26-Jun-2000 13:20
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500
17.900 17.890 18.300 21.450 21.640 21.710 21.790 21.790 21.960 22.230 22.340
14 06-Jul-2000 11:20
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000
30.900 20.300 21.500 21.800 22.200 22.600 23.100 23.100 23.600 23.700 24.000 24.000 24.000 24.000
13 21-Aug-2000 11:55
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500
15.400 15.300 15.300 15.400 15.400 15.400 15.500 15.500 15.700 15.700 16.100 16.100 16.700
14 18-Sep-2000 12:28
0.000 0.500 1.000 1.500 2.000 2.500 3.000 3.000 3.500 4.000 4.500 5.000 5.500 6.000
21.280 21.210 21.240 21.930 22.060 22.200 22.380 22.380 22.230 22.560 22.470 22.850 23.000 23.040

First line: Title for some meaning (here: station name, coordinate) This field is not used by EE.

Second line: number of data points on the vertical profile (i.e., 14); Date (Gregorian) (i.e., 18-Aug-1999) and time (i.e., 11:25)
Third line: the water depths (from the water surface) of the points along with the vertical profile (the depth unit must correspond to the model unit: meters)
Fourth line: the observation water quality values of the points. Units – Must correspond to the model units.

Repeat lines 2-4 for each profile.


Data Format B-9  Polygon DSM Format
The "Polygon" Digital Sediment Model (DSM) format is a file that contains any number of polygons that define an area followed by a data block that contains the sediment data. The polygon ID and the data block ID's must match. The data block consists of a line for each depth (beginning at the surface or 0.0 depth) for which data exists. On each line, the user must include the depth (m), thickness (m), porosity, and then the grain size. The number of grain size classes and the associated size breaks are determined by the space-delimited data of the label line (see example). The number of grain size classes and their sizes must be the same for every sediment data block in the file. However, the size classes can vary from file to file or project to project to meet the project needs.
Example

Data Format B-10  Sediment Cores with Grainsize DSM Format
The "Sediment Cores with Grainsize" Digital Sediment Model (DSM) format is a file that contains any number of cores. Each core can have any number of samples at depths below the top of the core. For each core, the user must locate the core in horizontal (XY) space. The "Z" requested is the top of the core elevation (i.e. the bottom elevation at the core location).

Title Line
"Discrete" Flag: Used to determine the data file format
Loop over groupings of cores (Loop Terminated by the "END" statement)

   ID, #Cores

   X Y Z #Depths

   Loop over #Depths

     Thickness, Porosity, SpecGrav, nFractions

     Loop over nFractions

        Max Grainsizes (um)

    EndLoop

    Loop over nFractions

        %Finer

    EndLoop

  EndLoop

END --> End Core Definitions with an "END"

Example --------------------------------------------------------------------
Tra Khuc Soil Sampling Results

Discrete

Core01 2

265814.3 1673167.4 5.90 4

0.25 56.00 2.66 9

20000 15000 7500 3500 1250 375 175 75 30

100.00 94.40 89.50 84.10 79.00 36.00 16.50 10.00 2.20

0.65 56.00 2.66 6

1250 375 175 75 30 8

100.00 90.80 70.20 33.00 17.80 9.00

5.00 56.00 2.65 7

7500 3500 1250 375 175 75 30

100.00 96.80 84.80 24.70 11.30 4.10 0.90

8.20 56.00 2.66 7

7500 3500 1250 375 175 75 30

100.00 97.60 87.60 29.30 13.90 5.20 1.00                      ! *** End of 1st Core         

265808.1 1673613.9 0.13 20.25 56.00 2.66 9

20000 15000 7500 3500 1250 375 175 75 30

100.00 94.40 89.50 84.10 79.00 36.00 16.50 10.00 2.20

0.85 56.00 2.65 7

7500 3500 1250 375 175 75 30

100.00 96.50 83.10 27.70 17.10 4.20 0.00 !                     *** End of 2nd Core  


Data Format B-11  Water Quality Point Source Loading Concentration Time Series File
C ** Caloosahatchee TMDL, WQPSLC Concentration Time Series FILE, DDD 5/27/2008 10:28:34 AM
C **       This file is only used by EE to generate mass loadings for EFDC
C **       INPUT UNITS (mg/l) EXCEPT: TAM(mol/l), FCB(MPN/l).
C **
C **      MWQPSR(NS) TCPSER(NS) TAPSER(NS) RMULADJ(NS) ADDADJ(NS)
C **      TWQPSER(M,NS)     WQPSSER(M,NWV= 1: 7,NS)
C **                                       WQPSSER(M,NWV= 8:14,NS)
C **                                       WQPSSER(M,NWV=15:22,NS)
C **
C **    Time    CHC    CHD    CHG    ROC    LOC    DOC    ROP
C **                LOP    DOP    P4D    RON     LON    DON    NHX
C **                NOX    SUU     SAA    COD    DOX    TAM    FCB MAC
C **
     732     86400    0    1    0     ! *** S79
2922.000 0.0000 0.0000 0.1958 1.3686 1.3686 10.9485 0.0096
                0.0113 0.0113 0.0944 0.1130 0.4181 0.5989 0.0585
                0.2984 0.0000 0.0000 0.0000 6.2596 0.0000 49.9881 0.0000
2923.500 0.0000 0.0000 0.1988 1.3360 1.3360 10.6880 0.0105
                0.0123 0.0123 0.1139 0.1220 0.4514 0.6465 0.0612
                0.3824 0.0000 0.0000 0.0000 6.5626 0.0000 49.9881 0.0000
2924.500 0.0000 0.0000 0.2007 1.3255 1.3255 10.6037 0.0104
                0.0121 0.0121 0.1073 0.1214 0.4490 0.6432 0.0543
                0.3633 0.0000 0.0000 0.0000 6.4734 0.0000 49.9881 0.0000
2925.500 0.0000 0.0000 0.2027 1.3934 1.3934 11.1468 0.0109
                0.0127 0.0127 0.0994 0.1212 0.4484 0.6423 0.0554
                0.3291 0.0000 0.0000 0.0000 6.3515 0.0000 49.9881 0.0000
2926.500 0.0000 0.0000 0.2047 1.4910 1.4910 11.9281 0.0118
                0.0138 0.0138 0.0910 0.1234 0.4565 0.6538 0.0605
                0.2974 0.0000 0.0000 0.0000 6.4037 0.0000 49.9881 0.0000


Data Format B-12  External Windwaves
C ** Tra Khuc, FILE: WAVE.INP
C ** Version: EFDC_Explorer7.1.1 : Ver 140606
C ** Specify Information For Wave-Current Boundary Layer and Wave Induced Flow
C **
C ** I   J    WVHEI    WANGLE    WVPER    WVLEN    WVDISP
C **
C ** I,J Cell Indices
C **
C ** WVHEI = Wave Height (m)
C ** WANGLE = Wave Angle (Degrees from East)
C ** WVPER = Wave Period (seconds)
C ** WVLEN = Wave Length (meters)
C ** WVDISP = Wave Energy Dissipation In (m/s)**3
C **
52 3 0.0000 0.0000 0.0000 0.0000 -0.0090
53 3 0.0000 0.0000 0.0000 0.0000 0.0000
54 3 0.0000 0.0000 0.0000 0.0000 0.0000
55 3 0.0000 0.0000 0.0000 0.0000 0.0000
56 3 0.0000 0.0000 0.0000 0.0000 -0.0090
57 3 0.0000 0.0000 0.0000 0.0000 -0.0090
58 3 0.0000 0.0000 0.0000 0.0000 -0.0090
59 3 0.0000 0.0000 0.0000 0.0000 -0.0090
60 3 0.0000 0.0000 0.0000 0.0000 -0.0090
61 3 0.0000 0.0000 0.0000 0.0000 -0.0090
62 3 0.0000 0.0000 0.0000 0.0000 0.0000
63 3 0.0000 0.0000 0.0000 0.0000 -0.0090
64 3 0.0000 0.0000 0.0000 0.0000 -0.0090
65 3 0.0000 0.0000 0.0000 0.0000 0.0000


Data Format B-13  External Windwaves
C ** JULIAN DAYS CORRESPONDING TO EXTR. WIND FILES
C ** FOR SWAN MODEL RUN IN CASE OF UNSTEADY WAVES
225.0000
225.0417
225.0833
225.1250
225.1667
225.2083
225.2500
225.2917
225.3333
225.3750
225.4167
225.4583
225.5000


Data Format B-14  Harmonic Constants (harcont.ee)
C ** NSTA = Number stations
C ** MTIDE = Number of tidal harmonic constants of this station
C ** xcoord = Longitude / X - coordinate
C ** ycoord = Latitude / Y - coordinate
C ** DATUM = Datum in meters
C ** TIMEZONE = Time zone
C ** AMPCON = Conversion factor to convert amplitude to meters
C ** PHACON = Conversion factor to convert amplitude to degrees
C ** NAME = Station name
C ** NSTA
C ** MTIDE    XCOORD   YCOORD    DATUM    TIMEZONE              AMPCON   PHACON   NAME
C ** ID CONSTITUENT AMP(cm) PHA(deg)
        2         38                0                   0           1.77799999713898    8        .01              1            Johor
92      M2    2232.0000 21.00
108    S2    2635.0000 48.90
80      N2    3275.0000 358.30
43      K1    3481.0000 204.30
150    M4    3661.0000 82.20
28      O1    2874.0000 209.20
184    M6    3884.0000 138.80
134    MK3  4096.0000 97.70
160    S4     3603.0000 258.50
146    MN4   4925.0000 192.70
83     NU2    2428.0000 351.20
197   S6      4315.0000 228.90
76     MU2    2168.0000 10.90
75     2N2    2165.0000 335.00


Data Format B-15  ISER.INP for ISICE = 1
C ** PROJECT NAME, ISER.INP TIME SERIES FILE
C ** FILE ISER.INP - EXTERNALLY SPECIFIED ICE COVER
C ** CONTROL AND TIME SERIES DATA REPEATING NISER TIMES.
C ** HEADER: MISER(NISER), TCISER(NISER),TAISER(NISER),RMULADJC,RMULADJT
C ** MISER = NUMBER OF DATA, TCISER=TIME CONVERSION TO SEC, TAISER=ADDITIVE TIME ADJ
C **
               4              86400          0          1            0
240.001 0.3500
240.010 0.5500
240.020 0.7500
240.030 0.6000
              6                86400         0           1            0
20.000 0.0000
238.000 0.4000
252.000 0.5700
283.000 0.7200
290.000 0.5500
320.000 0.3400


Data Format B-16  ICEMAP.INP for ISICE = 1
C ** , icemap.inp , Ice time series weightings for each cell and NISER Series
C **
C **
C    I    J     Weighting Fraction by Series
1
5113.000 5478.000
      2 107   3 0.000159 0.999672 0.000170
      3 108   3 0.000159 0.999671 0.000170
      4 109   3 0.000159 0.999671 0.000170
      5 110   3 0.000160 0.999670 0.000170
      6 107   4 0.000231 0.999520 0.000249
      7 108   4 0.000232 0.999519 0.000249
      8 109   4 0.000232 0.999518 0.000250
      9 110   4 0.000233 0.999517 0.000250
     10 107  5 0.000313 0.999346 0.000341
     11 108  5 0.000315 0.999344 0.000341
     12 109  5 0.000316 0.999342 0.000342
     13 110  5 0.000317 0.999340 0.000343
     14 107  6 0.000413 0.999135 0.000453


Data Format B-17  ISTAT.INP for ISICE = 2
C ** ISTAT FILE
C ** TIME SERIES ON THE STATUS OF ICE ON/OFF VIA ICECOVER
C ** FIRST DATA LINE: MISER(N),TCISER(N),TAISER(N),N=1(only one)
C ** NEXT DATA LINES: TISER(M,N),RICECOVS(M,N), M=1:MISER
C ** TISER: TIME, RICECOVS = 1: ON/0:OFF
5     86400     0
0.000     0.0000
240.000 1.0000
242.000 0.0000
243.000 1.0000
300.000 0.0000


Data Format B-18  ICE.INP for ISICE = 3 & 4

 * ICE THICKNESS INITIAL CONDITIONS

 * I    J    THICKNESS[m]
3 207 0.300
3 208 0.300
3 209 0.300
3 210 0.300
3 211 0.300
3 212 0.300
4 207 0.300
4 208 0.300
4 209 0.300
4 210 0.300
4 211 0.300
4 212 0.300
5 207 0.300
5 208 0.300


Data Format B-19  Windmap
C ** WIND MAP FILE GENERATED BY EE, Ver=82
C ** NMAP
C ** BEGTIME   ENDTIME   (EFM(NS),NS=1,NSER)
C ** I, J, (WNDWHT(L,N),N=1,NSER)
         3
  5113.000  5140.000     1.000     1.000     1.000
  107    3  0.00016  0.99968  0.00017
  108    3  0.00016  0.99968  0.00017
  109    3  0.00016  0.99967  0.00017
  110    3  0.00016  0.99967  0.00017
  107    4  0.00022  0.99953  0.00024
  108    4  0.00023  0.99953  0.00024
  109    4  0.00023  0.99953  0.00025
  110    4  0.00023  0.99952  0.00025
  107    5  0.00030  0.99937  0.00033
  108    5  0.00031  0.99936  0.00033
  109    5  0.00031  0.99936  0.00033



Data Format B-20  East West Connectors
C FILE MAPPGEW.INP PROVIDES INFORMATION FOR MAKING MANUAL GRID CONNECTIONS
C IN THE EAST-WEST (I+1 AND I-1) DIRECTION
C
C NPEWBP = NUMBER OF EAST-WEST CONNECTIONS
C IWPEW,JWPEW = I,J INDICES OF THE CELL CONNECTED AT THE WEST FACE
C IEPEW,JEPEW = I,J INDICES OF THE CORRESPONDING CELL CONNECTED AT THE EAST FACE
C
C IWPEW JWPEW IEPEW JEPEW (REPEATED NPEWBP TIMES)
9
55 77 11 19
55 76 11 20
55 75 11 21
55 74 11 22
55 73 11 23
55 72 11 24
55 71 11 25
55 70 11 26
55 69 11 27


Data Format B-21  SEDZLJ Input Files: BED.SDF

# VAR_BED Bedload  Nequil LAYMAX  ISEDTIME  IMORPH IFWAVE MAXDEPLIM#

     1                    1            0             7               1                 0               0             1.0

# ITBM NSICM  Array Parameters #

    8     8

# ZBSKIN (>0 sets Zo in [um]) TAUCONST [dynes/cm^2] (> 0 to set constant)  ISSLOPE #

    10.0  0.0   0

# D50 of Size Class D50(K) [um] #

 10.0  22.0  222.0  375.0  750.0  4000.0  22.0  222.0

 # Critical Shear for Erosion TAUCRS(K) [dynes/cm^2] #

 1.0   2.2   1.6    2.4    3.8    30.8    2.2   1.6

# Critical Shear for Suspension TCRDPS(K) [dynes/cm^2] #

 1.0   2.2   2.4    3.5    12.5   98.8    2.2   2.4

# Sediment Bed Size (um) Tables #

 2.0  222.0  432.0  1020.0  2400.0  2600.0  3360.0  6000.0  8520.0

# Critical Shear for Erosion of Bed Surface [dynes/cm^2]  #

 0.50  2.27   2.96    4.17    5.88    6.07    6.72    8.48    9.75

#  Erosion rates for active and deposited Layers [cm/s] #

 1.00E-09 5.97E-05 5.97E-04 5.96E-03 5.95E-02 5.94E-01 5.94E+00 5.93E+01 !    2 Micron

 1.00E-09 5.97E-05 5.97E-04 5.96E-03 5.95E-02 5.94E-01 5.94E+00 5.93E+01 !  222 Micron

 1.00E-09 3.65E-04 2.16E-03 1.27E-02 7.49E-02 4.42E-01 2.61E+00 1.54E+01 !  432 Micron

 1.00E-09 2.01E-04 1.14E-03 6.51E-03 3.71E-02 2.11E-01 1.20E+00 6.85E+00 ! 1020 Micron

 1.00E-09 1.12E-05 8.40E-05 6.28E-04 4.70E-03 3.51E-02 2.63E-01 1.96E+00 ! 2400 Micron

 1.00E-09 7.94E-06 6.01E-05 4.55E-04 3.45E-03 2.61E-02 1.98E-01 1.50E+00 ! 2600 Micron

 1.00E-09 2.11E-06 1.67E-05 1.31E-04 1.04E-03 8.17E-03 6.44E-02 5.08E-01 ! 3360 Micron

 1.00E-09 2.03E-08 1.67E-07 1.44E-06 1.24E-05 1.07E-04 9.28E-04 8.02E-03 ! 6000 Micron

1.00E-09 1.19E-09 2.75E-09 1.69E-08 1.47E-07 1.33E-06 1.22E-05 1.11E-04 ! 8250 micron


Data Format B-22  SEDZLJ Input Files: ERATE.SDF

#  Layer Thicknesses                  #

  0.00  0.00  15.00  15.00  15.00         15.00  15.00

 # Active layer thickness multiplier

 2.0

#  Core 1 - Riverine Sediments - Critical Shear Stress (dynes/cm^2)  #

 3.0  3.0  3.0  3.5  4.0  5.0  999.0

#  Bulk Density (g/cm^3)               #

 1.35 1.40 1.45 1.50 1.55 1.60 1.60

 # Water and sediment density (g/cm^3)  #

 1.0 2.65

#  Particle Size Distribution          #

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

  13. 57. 24. 5. 1. 0. 0. 0.

#  Initial Bed Erosion Rates           #

         0.0

 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09 1.000E-09

          2.0

 2.460E-09 2.460E-09 2.460E-09 1.706E-04 8.020E-05 2.260E-05 3.700E-09 3.700E-09 3.700E-09 3.700E-09

         4.0

 1.460E-03 1.460E-03 1.460E-03 5.790E-04 2.120E-04 7.980E-05 7.660E-08 7.660E-08 7.660E-08 7.660E-08

          8.0

 8.680E-03 8.680E-03 8.680E-03 1.910E-03 5.580E-04 2.820E-04 1.580E-06 1.580E-06 1.580E-06 1.580E-06

         16.0

 5.150E-02 5.150E-02 5.150E-02 6.280E-03 1.470E-03 9.950E-04 3.280E-05 3.280E-05 3.280E-05 3.280E-05

        32.0

 3.060E-01 3.060E-01 3.060E-01 2.070E-02 3.890E-03 3.510E-03 6.770E-04 6.770E-04 6.770E-04 6.770E-04

        64.0

 1.820E+00 1.820E+00 1.820E+00 6.820E-02 1.030E-02 1.240E-02 1.400E-02 1.400E-02 1.400E-02 1.400E-02

       128.0

1.080E+01 1.080E+01 1.080E+01 2.250E-01 2.710E-02 4.380E-02 2.900E-01 2.900E-01 2.900E-01 2.900E-01


Data Format B-23  SEDZLJ Input Files: ENSIGHT.SDF

#

C Input file for Ensight output

C values of 1 turns on the variable and 0 turns off the variable    

C          1   U  - X velocity

C          2   V  - Y velocity

C          3  TAU - Shear Stress on active layer

C          4  D50 - Averaged particle size

C          5  CBL - Bedload concentration

C          6  SED - Suspended sediment concentration

C       7  CHC - cyanobacteria

C       8  CHG - diatom algae

C       9  CHD - green algae

C       10  ROC - refractory particulate organic carbon

C       11  LOC - labile particulate organic carbon

C       12  DOC - dissolved organic carbon

C       13  ROP - refractory particulate organic phosphorus

C       14  LOP - labile particulate organic phosphorus

C       15  DOP - dissolved organic phosphorus

C       16  P4D - total phosphate

C       17  RON - refractory particulate organic nitrogen

C       18  LON - labile particulate organic nitrogen

C       19  DON - dissolved organic nitrogen

C       20  NHX - ammonia nitrogen

C       21  NOX - nitrate nitrogen

C       22  SUU - particulate biogenic silica

C       23  SAA - dissolved available silica

C       24  COD - chemical oxygen demand

C       25  DOX - dissolved oxygen

C       26  TAM - total active metal

C       27  FCB - fecal coliform bacteria

C       28  CO2 - Dissolved Carbon Dioxide

C       29  MAC - macroalgae

C       30  HEAT- Heat Content

C          31  TEMP- Temperature (K)

C  U     V   TAU  D50  CBL  SED 

C  CHC  CHD  CHG  ROC  LOC  DOC  ROP  LOP  DOP  P4D  RON   LON  DON

C  NHX  NOX  SUU  SAA  COD  DOX  TAM  FCB  CO2  MAC  HEAT  TEMP

   1     1    1    1    1    1

   0     0    0    0    0    0    0    0    0    0    0     0    0

   0     0    0    0    0    0    0    0    0    0    0     0


Data Format B-24  SEDZLJ Input Files: CORE_FIELD.SDF

     9        !    Number of Sedflume cores 

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

4 0 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

5 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 8 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


Data Format B-25  Atmospheric Forcing Files: ASER.INP

C  aser.inp file, in free format across line, repeats naser=1 times, lake okeechobee                                                                                                

C                                                                                                                                                                                   

C  ATMOSPHERIC FORCING FILE, USE WITH 28 JULY 96 AND LATER VERSIONS OF EFDC                                                                                                         

C                                                                                                                                                                                   

C  MASER     =NUMBER OF TIME DATA POINTS                                                                                                                                            

C  TCASER    =DATA TIME UNIT CONVERSION TO SECONDS                                                                                                                                  

C  TAASER    =ADDITIVE ADJUSTMENT OF TIME VALUES SAME UNITS AS INPUT TIMES                                                                                                          

C  IRELH     =0 VALUE TWET COLUMN VALUE IS TWET, =1 VALUE IS RELATIVE HUMIDITY                                                                                                      

C  RAINCVT   =CONVERTS RAIN TO UNITS OF M/SEC,inch/hour=0.0254 m/3600 s=7.0556E-6m/s                                                                                                

C  EVAPCVT   =CONVERTS EVAP TO UNITS OF M/SEC, IF EVAPCVT<0 EVAP IS INTERNALLY COMPUTED, *abs(evapcvt) in calqvs.for for TestWQ, Ji, 9/22/02                                        

C  SOLRCVT   =CONVERTS SOLAR SW RADIATION TO JOULES/SQ METER                                                                                                                        

C  CLDCVT    =MULTIPLIER FOR ADJUSTING CLOUD COVER                                                                                                                                  

C  IASWRAD   =O DISTRIBUTE SW SOL RAD OVER WATER COL AND INTO BED, =1 ALL TO SURF LAYER                                                                                             

C  REVC      =1000*EVAPORATIVE TRANSFER COEF, REVC<0 USE WIND SPD DEPD DRAG COEF                                                                                                    

C  RCHC      =1000*CONVECTIVE HEAT TRANSFER COEF, REVC<0 USE WIND SPD DEPD DRAG COEF                                                                                                

C  SWRATNF   =FAST SCALE SOLAR SW RADIATION ATTENUATION COEFFCIENT 1./METERS                                                                                                        

C  SWRATNS   =SLOW SCALE SOLAR SW RADIATION ATTENUATION COEFFCIENT 1./METERS                                                                                                        

C  FSWRATF   =FRACTION OF SOLSR SW RADIATION ATTENUATED FAST  0<FSWRATF<1                                                                                                           

C  DABEDT    =DEPTH OR THICKNESS OF ACTIVE BED TEMPERATURE LAYER, METERS                                                                                                            

C  TBEDIT    =INITIAL BED TEMPERATURE                                                                                                                                               

C  HTBED1    =CONVECTIVE HT COEFFCIENT BETWEEN BED AND BOTTOM WATER LAYER  NO DIM                                                                                                   

C  HTBED2    =HEAT TRANS COEFFCIENT BETWEEN BED AND BOTTOM WATER LAYER  M/SEC                                                                                                       

C  PATM      =ATM PRESS MILLIBAR                                                                                                                                                    

C  TDRY/TEQ  =DRY ATM TEMP ISOPT(2)=1 OR EQUIL TEMP ISOPT(2)=2                                                                                                                      

C  TWET/RELH =WET BULB ATM TEMP IRELH=0, RELATIVE HUMIDITY IRELH=1                                                                                                                  

C  RAIN      =RAIN FALL RATE LENGTH/TIME                                                                                                                                            

C  EVAP      =EVAPORATION RATE IS EVAPCVT>0.                                                                                                                                        

C  SOLSWR    =SOLAR SHORT WAVE RADIATION AT WATER SURFACE  ENERGY FLUX/UNIT AREA                                                                                                    

C  CLOUD     =FRATIONAL CLOUD COVER                                                                                                                                                 

C **  

C **  

C **  

EE    EFDC_DSI_VER: 7.301

C **  

C ** TASER(D)  PATM(MB)   TDRY(C)   TWET(C) RAIN(M/D) EVAP(M/D) SOLSWR(W/M2)  CLOUD

C **  

C **   MASER    TCASER    TAASER     IRELH     RAINCVT     EVAPCVT   SOLRCVT    CLDCVT   ! *** ID

        9547   86400.0       0.0         1  1.1574E-05  1.1574E-05       1.0       1.0   ! ASER_1

        0.000 1012.0000   22.2720    0.8550    0.0000    0.0000    0.0000    0.1000

        0.062 1012.0000   21.8340    0.8550    0.0000    0.0000    0.0000    0.1000

        0.104 1012.0000   21.6670    0.8480    0.0000    0.0000    0.0000    0.1000

        0.140 1012.0000   21.5670    0.8490    0.0000    0.0000    0.0000    0.1000

        0.188 1012.0000   21.4980    0.8460    0.0000    0.0000    0.0000    0.1000

        0.229 1012.0000   21.4970    0.8540    0.0000    0.0000    0.0000    0.1000

        0.266 1012.0000   21.3850    0.8560    0.0000    0.0000   15.6000    0.1000

        0.312 1012.0000   21.6400    0.8180    0.0000    0.0000  160.2000    0.1000

        0.354 1012.0000   21.6970    0.7980    0.0000    0.0000  259.8000    0.1000

        0.391 1012.0000   21.9650    0.8000    0.0000    0.0000  375.6000    0.1000

        0.438 1012.0000   22.6700    0.7850    0.0000    0.0000  478.8000    0.1000

        0.479 1012.0000   23.6500    0.7480    0.0000    0.0000  516.6000    0.1000

        0.516 1012.0000   24.2000    0.7120    0.0000    0.0000  529.2000    0.1000


Data Format B-26  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


c) Examples of Code Used for Writing the Binary TVF File

FORTRAN code

!****************************************************************************

!

!  PROGRAM: WriteField

!

!  PURPOSE:  Example code to write the TVF (Time Varying Field) binary format

!            used with EFDC+/EFDC_Explorer 10.

!

!****************************************************************************


    program WriteField


    implicit none


    ! Variables

    integer :: signature, INPT, NT, NC, NL, NK, ITRP, IUPD, IDST, YY, MM, DD

    real*4 :: NODAT

    real*8, allocatable :: times(:)

    real*4, allocatable :: values(:,:,:,:)

    character*80 :: fileName   

    integer :: i,j,k,l,n, intVal

   

    INPT = 0        ! Input format (0 = all cells)

    NT = 3          ! NUMBER OF TIME STEPS

    NC = 1          ! Number of components

    NL = 29632      ! Number of cells (active cell count = LA - 1 = LC - 2)

    NK = 1          ! Number of layers

    ITRP = 1        ! Interpolation between time steps (0 = No, 1 = Linear)

    IUPD = 0        ! Update option (0 = replace, 1 = add, 2 = min, 3 = max)

    IDST = 1        ! Distribution option (0 = flux, 1 = multiplied by cell area)

    NODAT = -999.   ! No data. Ignore updating for cells with this value

    TSCL = 86400.   ! Time conversion factor to seconds (default 86400)

    TSHF = 0.       ! Time shift, same unit as time values (default 0)

    VSCL = 1.       ! Value conversion factor (default 1)

    VSHF = 0.       ! Value offset, same unit as field values (default 0)

    YY=2005         ! Base date's year

    MM=9            ! Base date's month

    DD=30           ! Base date's day


    ! Test data

    allocate(times(NT), values(NT,NC,NL,NK))


    fileName = 'evapfld.fld'


    # Write binary format

    signature = 826559558 ! 'FLD1'

    intVal = 0  ! Reserved

    open(1,file=fileName, form='binary')

    write(1) signature

    write(1) INPT

    write(1) NT

    write(1) NC

    write(1) NL

    write(1) NK

    write(1) ITRP

    write(1) IUPD

    write(1) IDST

    write(1) NODAT

    write(1) TSCL

    write(1) TSHF

    write(1) VSCL

    write(1) VSHF

    write(1) YY

    write(1) MM

    write(1) DD

    write(1) intVal

    write(1) intVal

    write(1) intVal

   

    do i=1,NT

      write(1) times(i)

      if (INPT == 0) then

        ! *** write all grid cells

        write(1) NL

        write(1) (((values(i,j,l,k), k=1,NK), l=1,NL), j=1,NC)

      else

        ! *** write only specific cells (NLA <= NL)

        !write(1) NLA

        !do n=1,NLA

        !  write(1) cell(n).L

        !  write(1) cell(n).I

        !  write(1) cell(n).J

        !  write(1) ((values(i,j,n,k), k=1,NK), j=1,NC)

        !enddo

      endif

    enddo

    close(1)


    print *, 'Hello World'

    deallocate(times, values)

   

    end program WriteField



MATLAB code

INPT = 0;           % Input format (0 = all cells)

NT = 3;             % Number of time steps

NC = 1;             % Number of components (e.g., 2 for wind-X, wind-Y)

NL = 29632;         % Number of cells (active cell count = LA - 1 = LC - 2)

NK = 1;             % Number of layers

ITRP = 1;           % Interpolation between time steps (0 = No., 1 = Linear.)

IUPD = 0;           % Update option (0 = replace, 1 = add, 2 = min, 3 = max)

IDST = 1;           % Distribution option (0 = flux, 1 = multiplied by cell area)

NODAT = -999;       % No data. Ignore updating for cells with this value

TSCL = 86400;       % Time conversion factor to seconds (default 86400)

TSHF = 0;           % Time shift, same unit as time values (default 0)

VSCL = 1;           % Value conversion factor (default 1)

VSHF = 0;           % Value offset, same unit as field values (default 0)

YY = 2005;          % Base date's year

MM = 9;             % Base date's month

DD = 30;            % Base date's day


%% Test data

times = [1, 2, 3];

values = zeros(NK,NL,NC,NT);


fileName = 'evapfld.fld';


% Write binary format

signature = 826559558; % 'FLD1'

intVal = 0;  % Reserved


fo = fopen(fileName,'w');

fwrite(fo,signature,'uint32');

fwrite(fo,INPT,'uint32');

fwrite(fo,NT,'uint32');

fwrite(fo,NC,'uint32');

fwrite(fo,NL,'uint32');

fwrite(fo,NK,'uint32');

fwrite(fo,ITRP,'uint32');

fwrite(fo,IUPD,'uint32');

fwrite(fo,IDST,'uint32');

fwrite(fo,NODAT,'float32');

fwrite(fo,TSCL,'float32');

fwrite(fo,TSHF,'float32');

fwrite(fo,VSCL,'float32');

fwrite(fo,VSHF,'float32');

fwrite(fo,YY,'uint32');

fwrite(fo,MM,'uint32');

fwrite(fo,DD,'uint32');

fwrite(fo,intVal,'uint32');

fwrite(fo,intVal,'uint32');

fwrite(fo,intVal,'uint32');


for i=1:NT,

    fwrite(fo,times(i),'double');

    if (INPT == 0),

        % *** write all grid cells

        fwrite(fo,NL,'uint32');

        fwrite(fo,values(:,:,:,i),'float32');

%         for j=1:NC,

%             for n=1:NLA,

%                 for k=1:NK,

%                     fwrite(fo,values(k,n,j,i),'float32');

%                 end;

%             end;

%         end;

    else

        % *** write only specific cells (NLA <= NL)

%        fwrite(fo,NLA,'uint32');

%         for n=1:NLA,

%             fwrite(fo,cell(n).L,'uint32');

%             fwrite(fo,cell(n).I,'uint32');

%             fwrite(fo,cell(n).J,'uint32');

%             for j=1:NC,

%                 for k=1:NK,

%                     fwrite(fo,values(k,n,j,i),'float32');

%                 end;

%             end;

%         end;

    end;

end;

fclose(fo);


Python code

import numpy as np

from array import array


INPT = 0            # Input format (0 = all cells)

NT = 3              # Number of time steps

NC = 1              # Number of components (e.g., 2 for wind-X, wind-Y)

NL = 29632          # Number of cells (active cell count = LA - 1 = LC - 2)

NK = 1              # Number of layers

ITRP = 1            # Interpolation between time steps (0 = No, 1 = Linear)

IUPD = 0            # Update option (0 = replace, 1 = add, 2 = min, 3 = max)

IDST = 1            # Distribution option (0 = flux, 1 = multiplied by cell area)

NODAT = -999        # No data. Ignore updating for cells with this value

TSCL = 86400        # Time conversion factor to seconds (default 86400)

TSHF = 0            # Time shift, same unit as time values (default 0)

VSCL = 1            # Value conversion factor (default 1)

VSHF = 0            # Value offset, same unit as field values (default 0)

YY=2005             # Base date's year

MM=9                # Base date's month

DD=30               # Base date's day


# Test data

times = [1, 2, 3]

values = np.zeros(NC*NL*NK)


fileName = 'evapfld.fld'


# Write binary format

fo = open(fileName, 'wb')


signature = bytearray([70, 76, 68, 49])

intVal = 0  % Reserved


fo.write(signature)

fo.write(np.uint32(INPT))

fo.write(np.uint32(NT))

fo.write(np.uint32(NC))

fo.write(np.uint32(NL))

fo.write(np.uint32(NK))

fo.write(np.uint32(ITRP))

fo.write(np.uint32(IUPD))

fo.write(np.uint32(IDST))

fo.write(np.float32(NODAT))

fo.write(np.float32(TSCL))

fo.write(np.float32(TSHF))

fo.write(np.float32(VSCL))

fo.write(np.float32(VSHF))

fo.write(np.uint32(YY))

fo.write(np.uint32(MM))

fo.write(np.uint32(DD))

fo.write(np.uint32(intVal))

fo.write(np.uint32(intVal))

fo.write(np.uint32(intVal))


for t in range(0,NT):

       fo.write(np.float64(times[t]))

       fo.write(np.uint32(NL))

       #for n in range(0,NC):

       #      for i in range(0,NL):

       #            for k in range(0,NK):

       #                   fo.write(np.float32(values[n,i,k]))

       fo.write(np.float32(values))


fo.close()


C# code

public void WriteFileBinary(string workPath, string fileName)

{

    int Signature = 0x31444C46, intVal = 0;


    fileName = Path.ChangeExtension(fileName, ".fld");

    string filePath = Path.Combine(workPath, fileName.ToLower());


    using (BinaryWriter fo = new BinaryWriter(File.Open(filePath, FileMode.Create)))

    {

        fo.Write(Signature);

        fo.Write(INPT);

        fo.Write(NT);

        fo.Write(NC);

        fo.Write(NL);

        fo.Write(NK);

        fo.Write(ITRP);

        fo.Write(IUPD);

        fo.Write(IDST);

        fo.Write(NODAT);

        fo.Write(TSCL);

        fo.Write(TSHF);

        fo.Write(VSCL);

        fo.Write(VSHF);

        fo.Write((int)BaseDate.Year);

        fo.Write((int)BaseDate.Month);

        fo.Write((int)BaseDate.Day);

        fo.Write((int)intVal);

        fo.Write((int)intVal);

        fo.Write((int)intVal);


        for (int i = 0; i < NT; i++)

        {

            fo.Write(Times[i]);

            if (INPT == 0)

            {

                fo.Write(NL);

                for (int n = 0; n < NC; n++)

                {

                    for (int j = 0; j < NL; j++)

                    {

                        for (int k = 0; k < NK; k++)

                        {

                            fo.Write(Values[i][n][j][k]);

                        }

                    }

                }

            }

            else

            {

                int cellCnt = 0;

                for (int j = 0; j < NL; j++)

                {

                    bool hasValue = false;

                    for (int n = 0; n < NC; n++)

                    {

                        for (int k = 0; k < NK; k++)

                        {

                            if (!float.IsNaN(Values[i][n][j][k]) &&
                                 Values[i][n][j][k] != NODAT)

                            {

                                hasValue = true;

                                break;

                            }

                        }

                        if (hasValue) { break; }

                    }

                    if (hasValue) { cellCnt++; }

                }

                fo.Write(cellCnt);

                for (int j = 0; j < NL; j++)

                {

                    Cell cell = Model.Grid.Cells[j];

                    fo.Write(cell.ID);

                    fo.Write(cell.Col);

                    fo.Write(cell.Row);

                    for (int n = 0; n < NC; n++)

                    {

                        for (int k = 0; k < NK; k++)

                        {

                            fo.Write(!float.IsNaN(Values[i][n][j][k]) ?
                               Values[i][n][j][k] : NODAT);

                        }

                    }

                }

            }

        }

        fo.Flush();

    }

}