-
Notifications
You must be signed in to change notification settings - Fork 159
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
UA SWE/SNWD Reader for LVT #129
Conversation
Hi, Thanks much for submitting this pull request for this needed feature. I've started to review and test, and I have three requests of you:
Error************ You likely edited these two files: However, they were not in the commit and pull request.
Thank you! David |
Hi, Thanks for your reviewing.
Let me know if you have further questions. Thanks, |
Hi, Thanks much for the code commits. I can now successfully compile LVT. I didn't realize this until I started running your testcases, but there is only one data file from UA for both the SWE and SnowDepth variables. Thus, if would be better if there was only one reader for them both, instead of separate instances of "UA_SWE" and "UA_SNWD". Instead of separate directories in lvt/datastreams, and separate plugins, can you please change to code so there is only "UA_Snow" or a similar name? Look at other datastreams (such as FLUXNETmte) for how to have LVT process more than one variable in a single datastream through LVT. It would be best if you worked off an updated master branch to add this "feature/UA_Snow" code, as there are now conflicts as well. Sorry for this trouble, but it will be worth it for users to be able to analyze both SWE and SnowDepth in one LVT instance. No need for updating any testcase, though. Please just update and commit the code, and I will take another look at it. David |
Resolves the conflicts
Just a short update to say that I'm still reviewing this pull request. I will have some code commits as well to refine some items. |
Thanks, David! |
This commit makes some code fixes and modifications for the LVT UA SNOW reader. There are two main changes: - The valid time of the observations are approximately 12Z. This info is from the data producers at Univ. of Arizona, and is based on the 12Z observation time of many of the in situ surface observations. - Only one annual water year file is read with each call to the read routine. Previously, both the current water year and the next water year file were read, but only the data for the current day was used. The code was modified so only the current day's file is read. This results in quicker execution from cutting down on the number of reads. See: NASA-LIS#129
Hi Rhae Sung, I just committed some updates. Can you update your code with these updates, and then generate a small testcase? Just a month or so, not the entire record. Perhaps across a water year transition. Please also process both SWE and SnowDepth in the same testcase: LVT datastream attributes table:: Bundle them as before, with only including the data necessary to run and evaluate this particular testcase. After you have them, I will also test, and then we can approve this pull request. David |
Hi David, It looks like LVT is trying to read LIS output for every hour. This happened even after choosing different computation frequencies (e.g., 3hr, 1da): [INFO] LVT cycle time: 09/01/2009 11:00:00 Could you double check/test this? Rhae Sung |
Hi, Thanks for reporting this, but I don't think that this is an issue. LVT only calculates the comparison metrics for when there is data at the same time. What values do you have for "Metrics computation frequency": "Metrics output frequency:", and "LIS output interval:"? It looks like you only have LIS data on 12Z. Please check your output, but I suspect that it will be correct as you have expected, based on your settings, despite the "does not exist" messages. David |
Hi, This is not that case. I have 3hr-interval LIS output and my settings are: Metrics computation frequency: 1da I also tried to use a '3hr' metrics computation frequency value, but LVT still attempted to read LIS output hourly. I agree that "this is not an issue because LVT only calculates the comparison metrics for when there is data at the same time". Rhae Sung |
Rhae Sung, Thanks for the info. Based on your settings, I expect that LVT will do the following:
If you turned on TS file output in the METRICS file, you should have daily output files of these calculations. Please compare (outside of LVT) the source datasets against the LVT output to confirm that this is correct. Or, bundle up the testcase, and I can also check. If you only want to compare your 12Z LIS output with the 12Z UA SNOW data, instead of daily averages, then you'll need to adjust your settings. We can take that discussion offline. David |
Eric, Thanks for your explanation. I compared the source datasets against the LVT outputs, and those look good. You can also check the testcase here: /discover/nobackup/rkim3/gitLIS/testcase/test Rhae Sung |
Great! Thanks, this testcase works for me, and I match your target output. Since I wrote a portion of the code, I think it's worth having @emkemp also quickly verify this testcase. If it looks good to him, one of us will approve the pull request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Revised review -- documentation is correct.)
I compiled this with Intel 18, and I get the following run-time error:
Error************
observation init routine for source UA SWE is not defined
please see the configs/lvt.config.master file.....
program will seg fault.....
Error************
Did you remember to update the plugins and commit them?
Also, where is NOAHMP_OUTPUT_LIST.TBL? This is listed in the lvt.config test file, but I don't see it in the testcase directory.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Second review attempt--now with the up-to-date test case!)
I compiled the code with Intel 18 and GNU 7.3. The Intel test runs have no issues, and I can reproduce the target output. However, the GNU test fails at the very end of the run, with a cryptic error message:
[ERR] return error in LVT call, Prgm Stopping...
The netCDF output file is opened but nothing is written to the file.
We/I will have to dig into this and fix the problem before the pull request can be accepted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Third review.
I determined that the runtime error with the GNU compiler is not associated with these changes, but is instead a bug in how LVT produces netCDF files. After putting in a test fix, the GNU test run reproduces the target results. Rerunning the Intel 18 tests also shows no new errors.
I reviewed the code and have no objections.
Given this, I now approve the pull request.
This update adds a reader to LVT that reads in University of Arizona SWE/ Snow depth data.
I've added test cases for this reader : /discover/nobackup/rkim3/gitLIS/testcase/UA_SWE
/discover/nobackup/rkim3/gitLIS/testcase/UA_SNWD
Let me know if you have any other questions. Thanks!