About the Open Water Foundation

The Open Water Foundation (OWF) is a nonprofit social enterprise that focuses on open source software and open data to make better decisions about water resources. Water is a public resource and we believe that data and software tools should also be public (while also allowing for commercial solutions to be created that leverage open solutions). See:

OWF tries to make its work public via GitHub and other cloud resources.

Repository Naming Conventions

Most OWF GitHub repositories follow a naming convention that helps keep repositories organized, using a dash-delimited repository names that may include:

Grouping Repositories for Products

Some repositories are intended to be used together, in which case the leading part of the repository names will often be consistent. For example:

To coordinate product development, OWF typically recommends using a folder structure that represents organization / product / git-repos / repositories…, for example:

C:\Users\user\                                         User files.
    owf-dev\                                           Work for an organization/system.
        GeoProcessor\                                  Product.
            git-repos\                                 Folder for repositories.
                owf-app-geoprocessor-python            Each repository...
                owf-app-geoprocessor-python-test
                owf-app-geoprocessor-python-doc-user

The above allows tools such as scripts in one repository to reference other repositories using ../ notation. Consequently, the grouped repositories are transportable between entities.

Hierarchy of Data / Visualization / Story Repositories

Repositories that are related to data and information may be related as shown in the following diagram.

Data / Visualization/ Story

In this case, the goal is to separate concerns related to data, visualization, and stories so that the specific product in the hierarchy can be independently maintained and can be layered as needed. For example, the following situations may occur:

To accomplish the above, local computer repositories may be organized as in the previous section, and a simple Python (or other suitable) web server is run to view a visualization or story locally before publishing to the web.