NFQ file
What is the NFQ file
The NFQ file brings flow data into the RSMS run. It's format is as follows:

- Date - Month
- Date - Day
- Date - Year
- Time
- Mainstem River Mile
- Tributary River Mile
- Cross Sectional Flow Area
- Flow
- UDID from RMI
How we generate the NFQ file
These values are from HEC-RAS Flows table. We designed the table so that it would be in NFQ format.
The Query that we use in the code to generate the NFQ is below.
string GetFlowsQueryHECRAS =
@"SELECT (FlowDateTime - (FlowDateTime % 86400) + 57600) AS FlowDateTime, RiverMile, TributaryMile, AVG(Flow) AS Flow, AVG(Area), UDID FROM
HEC_RASFlow WHERE FlowDateTime BETWEEN @start and @end GROUP BY (FlowDateTime - (FlowDateTime % 86400) + 57600), RiverMile, UDID, TributaryMile
ORDER BY FlowDateTime ASC, RiverMile DESC, UDID ASC";
This query get a daily average of Flows and Area and then adds 16 hrs to the date. That corresponds to 12:00 noon in EST Without counting in Daylight savings time.
Can an NFQ have more granularity than a single day? Can RSMS run this?
Yes and Yes.
Using a modified query in RSMS I was able to create a NFQ that had data for ever 6 hrs. (I currently have Ohio River set up in general)
Query:
string GetFlowsQueryHECRAS =
@"SELECT FlowDateTime AS FlowDateTime, RiverMile, TributaryMile, Flow AS Flow, Area, UDID FROM
HEC_RASFlow WHERE FlowDateTime BETWEEN @start and @end GROUP BY FlowDateTime, RiverMile, UDID, TributaryMile, Flow, Area
ORDER BY FlowDateTime ASC, RiverMile DESC, UDID ASC";

I was just going to let it run to get the NFQ. But I let RSMS complete to see if it would run correctly. NOTE: I got rid of the averaging and it is not in EST but GMT. This was just for a test.
Results

Flows page
Flows page is still showing Daily even if the Data in the NFQ is not daily.

It does not call parse the NFQ file. It queries the database for either the Mainstem or the Tributary. Since it does not display time it does not alter it after the fact like the NFQ query does.
private const string GetFXPLTQueryMainstemHECRAS =
@"select (FlowDateTime - (FlowDateTime % 86400)) AS FlowDateTime, RiverMile, TributaryMile, AVG(Flow) AS Flow, AVG(Area) as Area from
HEC_RASFlow where (FlowDateTime between @date and @date2) and TributaryMile = @mile
GROUP BY (FlowDateTime - (FlowDateTime % 86400)), RiverMile, TributaryMile ORDER BY FlowDateTime, RiverMile DESC, TributaryMile";
private const string GetFXPLTQueryTributaryHECRAS =
@"select (FlowDateTime - (FlowDateTime % 86400)) AS FlowDateTime, RiverMile, TributaryMile, AVG(Flow) AS Flow, AVG(Area) as Area from
HEC_RASFlow where (FlowDateTime between @date and @date2) and RiverMile = @mile
GROUP BY (FlowDateTime - (FlowDateTime % 86400)), RiverMile, TributaryMile ORDER BY FlowDateTime, RiverMile DESC, TributaryMile";