streamMetabolizer icon indicating copy to clipboard operation
streamMetabolizer copied to clipboard

How to fill missing input data

Open kqasem opened this issue 5 years ago • 3 comments

Hello everyone, I am trying to calculate stream metabolism for a reach that does not have depth or solar radiation data. I would like to hear your thoughts on my approach as I know that metabolism is very sensitive to depth values.

for depth, this is what I did

  • Found a USGS gage 6 miles upstream (the river is relatively flat and there is no big difference in cross-sections as it is a manmade channel)
  • Used the field data from the USGS and related Gage Height to Water depth
  • confirmed that the relationship is statistically significant (p < 0.01)
  • from the time-series gage height data, I calculated water depth and assumed that the water depth at the gage is similar to the water depth at the DO station location.
  • water depth data has several gaps and I don't know what is the best approach to fill the gaps (interpolate? average? average monthly?)

for solar radiation,

  • I downloaded solar radiation data from the NREL website
  • the data has a lot of gaps and it does not make sense as the model takes the light data to determine when the day starts and when it ends.
  • heard from some friends that you can come up with light data based on sunrise sunset info?

Thanks in advance!!! Karoline

kqasem avatar May 06 '20 03:05 kqasem

Karoline,

Not having depth is difficult. A two-fold error in depth is a two-fold error in metabolism. In Appling et al. 2019, we used a national hydrography database that had at a station hydraulic geometry. There is a lot of error here, but our reasoning was that will ~500 streams, the errors would cancel. Some comments below

Light is no problem.

Bob

On May 5, 2020, at 9:26 PM, Karoline Qasem <[email protected]mailto:[email protected]> wrote:

Hello everyone, I am trying to calculate stream metabolism for a reach that does not have depth or solar radiation data. I would like to hear your thoughts on my approach as I know that metabolism is very sensitive to depth values.

for depth, this is what I did

  • Found a USGS gage 6 miles upstream (the river is relatively flat and there is no big difference in cross-sections as it is a manmade channel)
  • Used the field data from the USGS and related Gage Height to Water depth

How did they measure depth? is depth the water depth at the gage? If so, then it says nothing about the mean depth of the river. If it is mean depth from several cross sections upstream then great.

  • confirmed that the relationship is statistically significant (p < 0.01)
  • from the time-series gage height data, I calculated water depth and assumed that the water depth at the gage is similar to the water depth at the DO station location.

but depth at the DO station location is not necessarily relevant to the mean depth of the channel upstream, and the latter is what you want. The depth at the cross section with the DO sensor is like not the same as the mean depth of the channel (USGS pick gage sites with box-shaped channels near bridges). Look to see if someone has hydraulic geometry for your channel

  • water depth data has several gaps and I don't know what is the best approach to fill the gaps (interpolate? average? average monthly?)

for solar radiation,

  • I downloaded solar radiation data from the NREL website
  • the data has a lot of gaps and it does not make sense as the model takes the light data to determine when the day starts and when it ends.
  • heard from some friends that you can come up with light data based on sunrise sunset info?

Yes and we have code for generating fake light data both in stream Metabolizer and in Hall and Hotchkiss 2017 Methods in Stream Ecology. For actual light data (useful in analyzing time series of GPP) use satellite-derived NLDAS data from NASA. I often use synthesized light data. because we assume linear response of GPPP to light the actual light intensity does not matter, just relative. Yes there are problems when a sunny morning leads to a clody afternoon and we are working on that. But relative to not knowing depth, variation in light is a minor problem.

Thanks in advance!!! Karoline

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/USGS-R/streamMetabolizer/issues/388, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AC4CU5VAZQ2GE65JSGNR72LRQDKGRANCNFSM4M2C43XA.

robohall avatar May 06 '20 03:05 robohall

Thanks a lot Bob for the great thoughts and details. I really appreciate it. Unfortunately, we do not have geometry data - I need to double-check with the agency who provided me with the DO data though.

  • Could you clarify one thing. so you are saying that the depth is actually the mean depth of the river not the depth at the DO sensor? What is the actual definition of water depth in stream metabolism? (average water depth upstream of the DO station? how far upstream)

  • if I have another USGS station downstream of the DO sensor along with the other station upstream of the sensor, can I use an average depth.

USGS gage --- 6 miles ---- DO station ----- 5 miles ----USGS gage

so, the DO station is between the two USGS. Would it make sense to average the depths at the two USGS gages?

  • How will a cross-section data at the DO station help me determine "average river" depth? Knowing that I only have time-series gage height data at the USGS gages?

  • Lastly, could you please share with me the tool you me mentioned to create fake light data? I remember a couple of years ago seeing an R script that does that.

I hope I was clear and did not confuse you

thanks!!!

kqasem avatar May 07 '20 20:05 kqasem

In case this may still be helpful:

The function calc_light() will give you a light estimate based off of solar-time, latitude, and longitude. Its built in to streamMetabolizer [streamMetabolizer::calc_light()].

kzollove avatar Sep 14 '20 18:09 kzollove