Brigham Young University BYU ScholarsArchive Theses and Dissertations 2015-06-01 Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Civil and Environmental Engineering Commons BYU ScholarsArchive Citation Swain, Nathan R., "Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps" (2015). Theses and Dissertations. 5832. https://scholarsarchive.byu.edu/etd/5832 This Dissertation is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain A dissertation submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Doctor of Philosophy E. James Nelson, Chair Norman L. Jones Daniel P. Ames Gustavious P. Williams A. Woodruff Miller Department of Civil and Environmental Engineering Brigham Young University June 2015 Copyright © 2015 Nathan R. Swain All Rights Reserved ABSTRACT Tethys Platform: A Development and Hosting Platform for Water Resources Web Apps Nathan R. Swain Department of Civil and Environmental Engineering, BYU Doctor of Philosophy The interactive nature of web applications or “web apps” makes it an excellent medium for conveying complex scientific concepts to lay audiences and creating decision support tools that harness cutting edge modeling techniques. However, the technical expertise required to develop them represents a barrier for would-be developers. The barrier can be characterized by the following hurdles that developers must overcome: (1) identify, select, and install software that meet the spatial and computational capabilities commonly required for water resources modeling; (2) orchestrate the use of multiple FOSS and FOSS4G projects and navigate their differing application programming interfaces (APIs); (3) learn the multi-language programming skills required for modern web development; and (4) develop a web-safe and fully featured web site to host the app. This research has resulted in two primary products that effectively lower the barrier to water resources web app development: (1) a literature review of free and open source software (i.e. software review) and (2) Tethys Platform. The software review included earth science web apps that were published in the peer-reviewed literature in the last decade and it was performed to determine which FOSS4G and FOSS web software has been used to develop such web apps. The review highlights 11 FOSS4G software projects and 9 FOSS projects for web development that were used to develop 45 earth sciences web apps, which constitutes a significantly reduced list of possible software projects that could be used to meet the needs of water resources web app development—greatly lowering the barrier for entry to water resources web development. While the software review addresses the hurdle of identifying FOSS software to provide a web framework and spatial data capabilities for water resources web apps, there are still other hurdles that needed to be overcome to make development more viable. Tethys Platform was developed to address these other hurdles and streamline the development of water resources web apps. It includes (1) a suite of free and open source software that address the unique data and computational needs common to water resources web app development, (2) a Python software development kit for incorporating the functionality of each software element into web apps and streamlining their development, and (3) a customizable web portal that is used to deploy the completed web apps. Tethys Platform has been used to develop a broad array of web apps for water resources modeling and decision support. Keywords: Tethys Platform, water resources, modeling, software development kit, web app ACKNOWLEDGEMENTS At the outset of my doctoral degree and my involvement with CI-WATER I could not have anticipated the experiences that I would have or the ways in which I would grow both as a professional and as an individual. Though I fully expected to develop bleeding-edge technologies, I did not see Tethys Platform on the horizon or the overwhelming interest and response to this work. I am overcome with gratitude for the many people who afforded me this opportunity. I would like to thank my advisors, Jim Nelson and Norm Jones. They provided a compelling vision that inspired my efforts and they provided me the latitude to explore many different avenues that eventually led to Tethys Platform. I would also like to acknowledge Dan Ames for his guidance and especially for his recommendation to port the project from CKAN to Django—a decision that was critical for the longevity of the project. I would also like to thank Gus Williams and Wood Miller for their input and feedback as members of my committee. I am indebted to Scott Christensen for his patience and invaluable advice. I would rarely implement a new feature or move forward with a plan until I had pitched the idea to Scott, because he always helped me root out the flaws and perfect the ideas. I would like to thank Jocelynn Anderson as the first Tethys app developer. Her work on the GSSHA Index Map Editor app was a driver for the development of many features. I am also grateful for Alan Snow and his work on the Streamflow Prediction Tool app, which put wind under the wings of Tethys Platform affording it national attention. I also want to recognize the efforts of the other early Tethys app developers on the CI-WATER and HydroShare teams. Tethys Platform would be nothing without the people who use it. I also need to recognize my parents for instilling in me an attitude of open mindedness and the confidence to reach beyond myself. Lastly, I would be remiss if I didn’t recognize my wife, Sunni. She has been a web developer much longer than I have, which was a large motivation behind my decision to embark on the CI-WATER project. In addition to countless acts of selfless love and support, she provided invaluable advice as I learned the ins and outs of web development. I would not have been able to complete or even participate in this project without her support. This material is based upon work supported by the National Science Foundation under Grant No. 1135483. TABLE OF CONTENTS LIST OF TABLES ..................................................................................................................... viii LIST OF FIGURES ..................................................................................................................... ix 1 Introduction ............................................................................................................................. 1 2 Software Review ...................................................................................................................... 6 2.1 Web GIS Software Review ................................................................................................ 7 2.1.1 Spatial Databases ........................................................................................................ 8 2.1.2 Spatial Data Publishing ............................................................................................. 11 2.1.3 Mapping Libraries ..................................................................................................... 13 2.1.4 Spatial Analysis ........................................................................................................ 16 2.2 Web Development Software Review ............................................................................... 18 2.2.1 Programming Languages .......................................................................................... 20 2.2.2 Web Frameworks ...................................................................................................... 21 2.2.3 Content Management Systems .................................................................................. 23 3 Tethys Platform ..................................................................................................................... 25 3.1 Tethys Software Suite ...................................................................................................... 26 3.1.1 Spatial Database ........................................................................................................ 27 3.1.2 Geoprocessing ........................................................................................................... 27 3.1.3 Map Rendering .......................................................................................................... 28 3.1.4 Visualization ............................................................................................................. 28 3.1.5 Distributed Computing .............................................................................................. 29 3.1.6 File Dataset Storage .................................................................................................. 30 3.1.7 Docker Installation .................................................................................................... 30 3.2 Tethys Software Development Kit .................................................................................
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages308 Page
-
File Size-