9.3 Directory structure
9.3.1 Overview of PEcAn repository as of PEcAn 1.5.3
pecan/
+- base/ # Core functions
+- all # Dummy package to load all PEcAn R packages
+- db # Modules for querying the database
+- logger # Report warnings without killing workflows
+- qaqc # Model skill testing and integration testing
+- remote # Communicate with and execute models on local and remote hosts
+- settings # Functions to read and manipulate PEcAn settings files
+- utils # Misc. utility functions
+- visualization # Advanced PEcAn visualization module
+- workflow # functions to coordinate analysis steps
+- book_source/ # Main documentation and developer's guide
+- CHANGELOG.md # Running log of changes in each version of PEcAn
+- docker/ # Experimental replacement for PEcAn virtual machine
+- documentation # index_vm.html, references, other misc.
+- models/ # Wrappers to run models within PEcAn
+- ed/ # Wrapper scripts for running ED within PEcAn
+- sipnet/ # Wrapper scripts for running SIPNET within PEcAn
+- ... # Wrapper scripts for running [...] within PEcAn
+- template/ # Sample wrappers to copy and modify when adding a new model
+- modules # Core modules
+- allometry
+- data.atmosphere
+- data.hydrology
+- data.land
+- meta.analysis
+- priors
+- rtm
+- uncertainty
+- ...
+- scripts # R and Shell scripts for use with PEcAn
+- shiny/ # Interactive visualization of model results
+- tests/ # Settings files for host-specific integration tests
+- web # Main PEcAn website files
9.3.2 Generic R package structure:
see the R development wiki for more information on writing code and adding data.
+- DESCRIPTION # short description of the PEcAn library
+- R/ # location of R source code
+- man/ # Documentation (automatically compiled by Roxygen)
+- inst/ # files to be installed with package that aren't R functions
+- extdata/ # misc. data files (in misc. formats)
+- data/ # data used in testing and examples (saved as *.RData or *.rda files)
+- NAMESPACE # declaration of package imports and exports (automatically compiled by Roxygen)
+- tests/ # PEcAn testing scripts
+- testthat/ # nearly all tests should use the testthat framework and live here