Open rsignell-usgs opened 6 years ago
@aaretxabaleta-usgs sent me email offline:
I have put the netcdf with the maximum average tidal stream power in sand: http://geoport.whoi.edu/thredds/dodsC/sand/usgs/users/aretxabaleta/ADCIRC_tides/catalog.html?dataset=sand/usgs/users/aretxabaleta/ADCIRC_tides/Maximum_average_tidal_stream_power.nc I have matched the other tidal files, but did not include the
adcirc_mesh
variable.
Instead of adding adcirc_mesh
to that dataset, I just added that variable to the netcdf file containing the big 5 tidal amplitudes using this code.
I then created a new tidal current power json config: https://github.com/USGS-CMG/terriajs-dive/blob/master/examples/ec2015_power.json for TerriaJS, so dropping that onto the end of the terriamap URL that @zdefne-usgs set up, you can use this URL to explore:
If you want different default colorscales, holler...
@aaretxabaleta-usgs, just for my interest, how did you calculate tidal current power?
I have seen Tidal Current Power (TCP) with formulas like:
TCP = mean((u**2 + v**2)**3/2)
where u
and v
are obtained from 15 min data and the mean
is taken over a spring neap cycle.
Did you do something similar?
Directly from the Haas et al. (2011) Technical Report (Assessment of Energy Production Potential from Tidal Streams in the United States Final Project Report) https://www1.eere.energy.gov/water/pdfs/1023527.pdf Page 26
Maximum average tidal stream power, Pmax, is given as Pmax=gammarhogaQmax where gamma is a parameter representing the 20-24% of the peak tidal pressure head, rho is the density of seawater, a is the amplitude of the tidal water level constituent and Qmax is the maximum corresponding tidal flow rate.
Supposedly it comes from (Garrett and Cummins, 2005). This might be preferable to kinetic power density from the tidal current speeds P=1/2rhoV^3, because it also includes the tidal head. This is the method that @zdefne-usgs used for calculating tidal power on the east coast "Defne, Z., Haas, K.A., Fritz, H.M., Jiang, L., French, S.P., Shi, X., Smith, B.T., Neary, V.S. and Stewart, K.M., 2012. National geodatabase of tidal stream power resource in USA. Renewable and Sustainable Energy Reviews, 16(5), pp.3326-3338 (https://doi.org/10.1016/j.rser.2012.02.061).
Form the Haas et al. report: "Maximum average tidal stream power, Pmax, is given as Pmax=gamma ρgaQmax (18) where gamma is a parameter, ρ is the density of seawater, a is the amplitude of the tidal water level constituent and Qmax is the maximum corresponding tidal flow rate. For a background friction dominated, nonsinusoidal (i.e. considering more than one tidal constituent) case, if data for the head and flux in the natural state are available, the maximum average power may be estimated with an accuracy of 10% using gamma = 0.22, without any need to understand the basic dynamical balance (Garrett and Cummins, 2005). A multiplying factor is used to account for additional constituents (a1, a2, ...) given as 1+(9/16)(r1^2+r2^2+...) where r1=a1/a, r2=a2/a, ... This upper bound on the available power ignores losses associated with turbine operation and assumes that turbines are deployed in uniform fences, with all the water passing through the turbines at each fence."
I think you might want to change the title as it is not just tidal current power, but tidal stream power that takes into account the head supposedly.
I have also updated the original nc file to include two variables: The original matsp that is integrated in depth and matspKWm2 that is done as power in terms of cross-sectional area. We can always choose one after we come to terms to what makes sense.
@aaretxabaleta-usgs Actually for the tidal stream power density map we used the standard 1/2*rho*V**3
formulation. Garrett and Cummin formulation could be used to calculate total available power (kinetic+potential) only at certain channelized (or constricted) locations because of the assumptions in the derivation of that equation. Otherwise "tidal current power" and "tidal stream power" are used interchangeably. For example, the power can have units of kW, and power density can be in kW/m2.
If we choose to use the 1/2*rho*V**3
formulation we need to read in fort.54 for tidal current constituents and generate the time series for a month or so to calculate the mean power density.
That is the reason we went with the Garrett & Cummins formulation. The idea was not to have to rerun the solution, but use directly the available products.
Okay, this is now updated with the non-vertically-integrated power: https://gamone.whoi.edu/terriamap/#clean&proxy/_60s/https://raw.githubusercontent.com/USGS-CMG/terriajs-dive/master/examples/ec2015_power.json
ping @BrianOBlanton
@rsignell-usgs This looks great!
Also how about a horizontal legend? It helps to see other layers, especially when more than one layer is turned on. In the long run we can also consider re-arranging min-max and update range buttons into one line to save even more space. Just a thought...
This is looking great. I like the idea of the range, but those are details. How about the "Style"? I think we can live with filled contours.
The horizontal legend is great! I didn't know we could do that! Can you issue a pull request on the json config?
@aaretxabaleta-usgs , I think we should derive the tidal energy potential by using the predicted values over the spring/neap cycle -- I think that is more defensible than a formula based on coefficients that is only valid in channels. Plus it makes another nice use case for scalable analysis capabilities! 😺
@rsignell-usgs Can you simply set HORIZONTAL=true
for the legend in the sci-wms interface?
Would be nice to add tidal current umajor, uminor, inclination and phase
. Python code to calculate these from uamp, upha, vamp, vpha
is here:
https://github.com/pwcazenave/PyFVCOM/blob/master/PyFVCOM/tidal_ellipse.py#L43-L197
EC2015 tidal velocity uamp, upha, vamp, vpha
constituent info is here:
http://tds.renci.org:8080/thredds/dodsC/DataLayers/Tides/ec2015_tidaldb/f54.nc.html
The file with the tidal power calculated from the velocity (variable name is tidpow) is in: http://geoport.whoi.edu/thredds/dodsC/sand/usgs/users/aretxabaleta/ADCIRC_tides/tidal_current_power.nc
The file with the umajor, uminor, phase and ellipse orientation is in: http://geoport.whoi.edu/thredds/dodsC/sand/usgs/users/aretxabaleta/ADCIRC_tides/tidal_velocity_tellipseparams.nc
Finally, the final with the tidal datums (data?) such as MLLW, MHHW and highest astronomical tide is in: http://geoport.whoi.edu/thredds/dodsC/sand/usgs/users/aretxabaleta/ADCIRC_tides/tideDatums.nc
Are we going to be able to click on a point and get a value? Is that possible with ugrid?
With the ncWMS service, you can click and get a value. With the sci-wms service, you currently can't click and get a value.
So for the smaller grids (like the Naimie grids) we can use ncWMS and get a value. For the larger grids (like the EC2015 grids) ncWMS is too slow, and we need sci-wms, and we can't click and get a value.
We want to calculate tidal current power potential from the EC2015 tidal harmonic database and output to UGRID-compliant dataset. This should be easy since we can start with the python code that reads the constituents and just modify it. How should this be done?