Skip to content

Conversation

@aclark-aquaveo
Copy link

@aclark-aquaveo aclark-aquaveo commented Sep 20, 2018

This is the initial merge of ADCIRC and LeProvost tidal database extractors. Changed our code to fetch resources from aquaveo.com if not found. Converted our code to return pandas.DataFrames in same format as the TPXO interface. We probably still want to do another pass to make the interfaces more consistent. Added a test case and tutorial for using the Python API with TPXO, ADCIRC, and LeProvost. Added Sphinx files for auto generation of docs.

Kim Pevey and others added 9 commits September 13, 2018 15:11
…po. Changed the new extractors to return pandas DataFrames. Changed new extractors to download databases from aqauveo.com if not found.
…cations for LeProvost and ADCIRC. Changed resource fetching for ADCIRC and LeProvost to check current directory as well as specified. Changed LeProvost and ADCIRC to use fluent interface pattern with get_components to be consistent with TPX0 interface.
add getting started guide
fix docstring and missing import
…uto doc generation. Added a tutorial for using the Python API with TPXO, ADCIRC, and LeProvost.
@kajiglet
Copy link
Contributor

kajiglet commented Sep 26, 2018

@aclark-aquaveo This is a great start at incorporating the LeProvost and ADCIRC databases.

My worries are:

  • Deconflict TidalDB and pytides as both include astronomical formulations
    • erdc/pytides may be edited
  • Subclass TPXO support from TidalDB
    • LeProvost and TPXO, as global uniform gridded datasets, could share a subclass if LeProvost data is loaded into xarray
  • Move resource download/extract into base class as standardized operation
    • Download into site-package harmonica/data directory
  • ADCIRC requires Windows executables (one for each database)
    • Do the *.grd and *.tdb files provide all necessary data?
    • If the operations performed by the executables cannot be written in python then the executables must be compiled and hosted for all platforms
    • Convert the pertinent FORTRAN source code provided in the ADCIRC packages into Python
  • Treat ADCIRC as a single resource
    • Automatically determine which database region (if any) the requested locations are within and then query the appropriate database
      • This probably requires the region domain extents as shapely objects
    • Simplify interface for the user who may not be aware how ADCIRC is different from the others

Andrew Clark and others added 20 commits October 4, 2018 09:49
…class - This an intermediate commit, not ready
removed redundant have_constituent code, fixed doc strings, deleted u…
…4 FES files. Use ResourceManager to load LeProvost NetCDF datasets. Changed LeProvost code to only load the values it needs from file instead of entire dataset. ADCIRC will get these TPXO unifications after its executables are converted. Sorted test script output for compare. LeProvost interface will be broken with this commit until the new NetCDF file is hosted.
…o harmonica interface made it unnecessary.
… will keep the legacy constituents that we distribute all in one file. Made the format of our legacy NetCDF file more compatible with the newer format.
…Currently is bypassing certificate verification until the link works properly.
to a netcdf file for the source of the tidal data. Also, removed a print
statement from the LeProvost tidal database extractor.
…r can switch models with ease. Moved TPXO implementation from tidal_database.py to tpxo_database.py. Fixed resource fetching for the new ADCIRC NetCDF file.
…IRC implementations to a single function. Return NaN for locations outside the domain. Added a version number (2015) for the current version of the ADCIRC database.
…tituent object as opposed to a single DataFrame. Once this becomes the outer dimension of an xarray, this will probably need to change again.
Andrew Clark added 2 commits October 19, 2018 16:56
…s as a result. Changed interface to take datetime object instead of year, month, etc. Updated tutorial.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants