PecanProject / bety

Web-interface to the Biofuel Ecophysiological Traits and Yields Database (used by PEcAn and TERRA REF)
https://www.betydb.org
BSD 3-Clause "New" or "Revised" License
16 stars 38 forks source link

Relationship between BETYdb and PEcAn? #46

Closed dlebauer closed 10 years ago

dlebauer commented 10 years ago

A user asks:

I am trying to figure out what will be required for us to install the BETY application on a local server. The documentation I am reading makes many references to PEcAn. I understand that BETY refers to the web application and database, but there are also many references to the "PEcAn" system (https://github.com/PecanProject/pecan) which appears to be some kind of data analysis package. I am not completely clear on whether PEcAn is required to run the BETY application, or whether the work you will be doing will require this functionality.

I know this is a pretty technical question, and I don't really understand the details about how these projects relate to each other.

dlebauer commented 10 years ago

The short answer is: BETYdb is the 'backend' for PEcAn. PEcAn is not required for BETYdb to run (except for the priors page, which is 'nice to have' but trivial). By contrast, BETYdb is required for PEcAn.

The consequence of this is that the documentation overlaps. For example, the BETYdb documentation for setting up a CentOS server ends with notes on installing PEcAn, because the student who wrote the prior figure rendering script (#22) started working with PEcAn on our development server.

Another consequence of the dependency of PEcAn on BETYdb is that the PEcAn wiki gives clear instructions for installing BETYdb on Ubuntu, which we regularly do to build virtual machines, as well as OSX and CentOS/RHEL.

Furthermore, PEcAn has some handy scripts for making installation easier, including load.bety.sh and update.psql.sh, both of which will create a database if it does not currently exist. The difference is that update.psql.sh installs a local version; load.bety.sh installs an instance that can be updated by new data that we make public on the production surver (and can sync data back to the production server if you choose; it does this by setting the index of the keys to sum multiple of 10^9 (which would need to be assigned - I think the first 4 billion are spoken for by Illinois, Boston, Wisconsin, and Brookhaven, but not necessarily in that order).