Skip to contents

Imports data from a user-supplied file, and converts it to a Daily data frame, appropriate for WRTDS calculations. The file can use most any separators as a delimiter. The default is comma separated.

The first column is expected to be dates, the second column is expected to be discharge values. If the date format is not automatically detected, the format can be specified using the "format" argument.

Usage

readUserDaily(filePath, fileName, hasHeader = TRUE, separator = ",",
  qUnit = 1, format = "%m/%d/%Y", verbose = TRUE)

Arguments

filePath

character specifying the path to the file. If it is in the working directory, use ".".

fileName

character name of file to open

hasHeader

logical true if the first row of data is the column headers

separator

character character that separates data cells. The default is "," for a csv file. Tab delimited would be "\t".

qUnit

number 1 is cubic feet per second, 2 is cubic meters per second, 3 is 10^3 cubic feet per second, and 4 is 10^3 cubic meters per second. The default is 1.

format

character indicating the format of the date (which should be in the first column). Default is "%m\/%d/%Y". See ?strptime for options. The code will initially look for R's standard YYYY-MM-DD, and check this format as a backup.

verbose

logical specifying whether or not to display progress message

Value

A data frame 'Daily' with the following columns:

NameTypeDescription
DateDateDate
QnumericDischarge in m^3/s
JulianintegerNumber of days since Jan. 1, 1850
MonthintegerMonth of the year [1-12]
DayintegerDay of the year [1-366]
DecYearnumericDecimal year
MonthSeqintegerNumber of months since January 1, 1850
QualifiercharacterQualifying code
iintegerIndex of days, starting with 1
LogQnumericNatural logarithm of Q
Q7numeric7 day running average of Q
Q30numeric30 day running average of Q

Examples

filePath <- system.file("extdata", package="EGRET")
fileName <- "ChoptankRiverFlow.txt"
Daily <- readUserDaily(filePath,fileName,separator="\t")
#> The input discharge are assumed to be in cubic feet per second, if they are in cubic meters per second, then the call to readUserDaily should specify qUnit=2
#> There are 4383 data points, and 4383 days.