-
Notifications
You must be signed in to change notification settings - Fork 397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cleanup input and output file headers #204
Comments
I advocate for keeping the initial #, since that is a common method of On Thu, Jan 22, 2015 at 1:54 PM, Joe Hamman notifications@github.com
|
I suggest we keep the free-form comment lines on the top. While we cannot enforce metadata in these files (at least not without a lot of extra work), I don't want to prevent people from including or adding their own commentary to the file. Stripping all content that starts with a We may also want to consider including a model version in one of those comment lines, but that is a slightly separate issue (i.e. what is the content). |
Wait - I think I just misread the proposal. If the proposal is:
then I would say I'd agree. Sorry for the confusion, read this one a bit too quickly |
I originally proposed the extreme of removing everything except the variable names, figuring we would have a discussion on what makes sense. I'd support @bartnijssen's summary. A possible output format may look like this:
Forcing files may also include free form header lines but would be required to include a minimum of one line without a
|
Why would the field names line not start with a "#", if the header does Is it simply that the "#" creates an extra field? We could get around that On Thu, Jan 22, 2015 at 5:59 PM, Joe Hamman notifications@github.com
|
Because the field name header would not be free form and is not a comment. For example, many scripting packages (R, python) have analysis modules (pandas, etc) that can read data files with comments and a header. It strips the comments and actually uses the header names to parse a file. These header names can then be used directly to address the relevant columns (dataframes in both R and pandas). So in short: The header would not start with a ‘#’ because it is not a comment and we don’t want it stripped by something that strips comments. In case you don’t want to read it, you can simply skip the first line after stripping comments.
|
Since the column header that is not a comment breaks backwards-compatibility with VIC.4 ideally this would still be part of VIC.5.0. However, @jhamman please provide an estimate of work involved. If it is more than a few lines of code, then I suggest we bump it to 5.1. |
The difference with #18 is that an extra column (for dates) can already be accommodated (although the information in the extra column will not be used). I'll close both issues and reference them in a new issue to support better meta-data information in the ASCII files. We won't implement it, but someone else may pick it up in the future, so it'll be someday |
Continued in #579 |
I propose we define a simple standard header for all input and output files. If included now, the output file header looks like this:
My preference would be that all input and output (including cases when
OUTPUT_FORCE=TRUE
) files be required to use the same header format. All files would include a single row header without#
, including the date/time values (see related #18):The text was updated successfully, but these errors were encountered: