Skip to content

Commit

Permalink
Merge pull request #1538 from PecanProject/release/1.5.0
Browse files Browse the repository at this point in the history
Release/1.5.0
  • Loading branch information
mdietze committed Jul 13, 2017
2 parents afd5e89 + 8fb6630 commit 3d48860
Show file tree
Hide file tree
Showing 348 changed files with 10,762 additions and 2,745 deletions.
12 changes: 10 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,19 +74,27 @@ before_script:
- psql -U postgres -c "CREATE DATABASE bety OWNER bety;"
- curl -o bety.sql http://isda.ncsa.illinois.edu/~kooper/PEcAn/data/bety.sql
- psql -U postgres < bety.sql
- rm bety.sql
- ./scripts/add.models.sh
- chmod +x book_source/deploy.sh
- chmod +x documentation/tutorials/deploy.sh

script:
- set -e
# - scripts/build.sh --no-git --tests --name travis
- echo 'Building PEcAn'
- echo 'Installing PEcAn packages'
- make
- echo 'Testing PEcAn'
- echo 'Testing PEcAn packages'
- make test
- make document
- echo 'Testing Integration'
- ./tests/integration.sh travis
- if [[ `git status -s` ]]; then
echo "These files were changed by the build process:";
git status -s;
echo "Have you run devtools::check and commited any updated Roxygen outputs?";
exit 1;
fi
- set +e

after_script:
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ For more information about this file see also [Keep a Changelog](http://keepacha

## [Unreleased]

## [1.5.10] - Prerelease
### Added
- Added PEcAn.utils::download.file() to allow for use of alternative FTP programs
- Updated downloadAmeriflux and downloadNARR to make use of PEcAn.utils::download.file()
- Added -w flag to load.bety.sh script to specify the URL to fetch the data from
- add new table sites_cultivars to betydb sync scripts (dump and load)
- thredds server documentation and catlog generating script

### Changed
- upscale_met now accepts ~any valid CF file (not just full years), retains correct time units, and respects the previously ignored `overwrite` parameter
- Better date handling in BioCro functions

## [1.4.10.1] - 2017-04-18

### Changed
Expand Down
12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ New functionality is typically directed toward modules to provide a slimmer PEcA
Generally, new model should be added to the models folder and new modules should be added to the modules folder.
Exceptions include code that is reused in many models or modules and wrapper functions that call specific implementations in models; these can be placed in the core packages.

If you are unsure of whether your contribution should be implemented as a model, module or part of PEcAn Core, you may visit [HipChat](https://hipchat.ncsa.illinois.edu/gW51EFhtT) or ask on the pecan-develop mailing list for advice.
If you are unsure of whether your contribution should be implemented as a model, module or part of PEcAn Core, you may visit [Gitter](https://gitter.im/PecanProject/pecan) or ask on the pecan-develop mailing list for advice.

## Creating Issues

Expand All @@ -27,7 +27,7 @@ If you are unsure of whether your contribution should be implemented as a model,

We highly recommend starting with the [downloaded VM image](http://opensource.ncsa.illinois.edu/projects/artifacts.php?key=PECAN). This image comes with a copy of PEcAn preinstalled with a fully populated copy of the and BETYdb database.
It also has the following models preinstalled: ED, SIPNET, Linkages and DALEC.
Another option is to install PEcAn on your own machine, using the instructions on the [wiki](https://github.com/PecanProject/pecan/wiki/Installing-PEcAn). However, be prepared for this to take a half day or so.
Another option is to install PEcAn on your own machine, using the instructions in the [documentation](https://pecanproject.github.io/pecan-documentation/installing-pecan.html). However, be prepared for this to take a half day or so.

When you login into the VM you will have already a cloned copy of PEcAn however for development this needs to be switch to your forked version of PEcAn. To get this started you will need to first fork PEcAn on GitHub using the following two steps.

Expand Down Expand Up @@ -99,7 +99,7 @@ git push -u origin GH-issuenumber-title-of-issue

## Additional Resources

- [Adding modes to PEcAn](https://github.com/PecanProject/pecan/wiki/Adding-an-Ecosystem-Model)
- [PEcAn configuration files](https://github.com/PecanProject/pecan/wiki/Configuration-Files)
- [R Development help](https://github.com/PecanProject/pecan/wiki/Development#r-development)
- [PEcAn Code of Conduct](https://github.com/PecanProject/pecan/wiki/Code-of-Conduct)
- [Adding models to PEcAn](https://pecanproject.github.io/pecan-documentation/master/adding-an-ecosystem-model.html)
- [PEcAn configuration files](https://pecanproject.github.io/pecan-documentation/master/pecan-xml-configuration.html)
- [Development help](https://pecanproject.github.io/pecan-documentation/master/overview.html)
- [PEcAn Code of Conduct](https://pecanproject.github.io/pecan-documentation/master/contributor-covenant-code-of-conduct.html)
33 changes: 12 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
NCPUS ?= 1

BASE := utils db settings visualization

MODELS := biocro clm45 dalec ed fates gday jules linkages \
Expand Down Expand Up @@ -37,7 +39,7 @@ ALL_PKGS_D := $(BASE_D) $(MODELS_D) $(MODULES_D) .doc/models/template
all: install

document: .doc/all
install: .install/all
install: .install/all
check: .check/all
test: .test/all

Expand All @@ -51,8 +53,8 @@ depends = .install/$(1) .doc/$(1) .check/$(1) .test/$(1)

$(call depends,db): .install/utils
$(call depends,settings): .install/utils .install/db
$(call depends,visualization): .install/db .install/shiny
$(call depends,modules/data.atmosphere): .install/utils .install/reddyproc
$(call depends,visualization): .install/db
$(call depends,modules/data.atmosphere): .install/utils
$(call depends,modules/data.land): .install/db .install/utils
$(call depends,modules/meta.analysis): .install/utils .install/db
$(call depends,modules/priors): .install/utils
Expand All @@ -66,40 +68,29 @@ $(MODELS_I): .install/models/template

clean:
rm -rf .install .check .test .doc
find modules/rtm/src \( -name \*.mod -o -name \*.o -o -name \*.so \) -delete

.install/devtools:
Rscript -e "if(!require('devtools')) install.packages('devtools', repos = 'http://cran.rstudio.com')"
Rscript -e "if(!require('devtools')) install.packages('devtools', repos = 'http://cran.rstudio.com', Ncpus = ${NCPUS})"
mkdir -p $(@D)
echo `date` > $@

.install/roxygen2:
Rscript -e "if(!require('roxygen2')) install.packages('roxygen2', repos = 'http://cran.rstudio.com')"
Rscript -e "if(!require('roxygen2')) install.packages('roxygen2', repos = 'http://cran.rstudio.com', Ncpus = ${NCPUS})"
mkdir -p $(@D)
echo `date` > $@

.install/testthat:
Rscript -e "if(!require('testthat')) install.packages('testthat', repos = 'http://cran.rstudio.com')"
mkdir -p $(@D)
echo `date` > $@

.install/shiny:
Rscript -e "if(!require('shiny')) install.packages('shiny', repos = 'http://cran.rstudio.com')"
Rscript -e "if(!require('testthat')) install.packages('testthat', repos = 'http://cran.rstudio.com', Ncpus = ${NCPUS})"
mkdir -p $(@D)
echo `date` > $@

.install/reddyproc:
Rscript -e "test <- require('REddyProc'); if (!test) devtools::install_github('rforge/reddyproc', subdir = 'pkg/REddyProc')"
mkdir -p $(@D)
echo `date` > $@

install_R_pkg = Rscript -e "devtools::install('$(strip $(1))');"
check_R_pkg = Rscript -e "devtools::check('"$(strip $(1))"')"
install_R_pkg = Rscript -e "devtools::install('$(strip $(1))', Ncpus = ${NCPUS});"
check_R_pkg = Rscript scripts/check_with_errors.R $(strip $(1))
test_R_pkg = Rscript -e "devtools::test('"$(strip $(1))"', reporter = 'stop')"
doc_R_pkg = Rscript -e "devtools::document('"$(strip $(1))"')"

$(ALL_PKGS_I) $(ALL_PKGS_C) $(ALL_PKGS_T) $(ALL_PKGS_D): .install/devtools

$(ALL_PKGS_T) $(ALL_PKGS_D): .install/roxygen2 .install/testthat
$(ALL_PKGS_I) $(ALL_PKGS_C) $(ALL_PKGS_T) $(ALL_PKGS_D): .install/devtools .install/roxygen2 .install/testthat

.SECONDEXPANSION:
.doc/%: $$(wildcard %/**/*) $$(wildcard %/*)
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ PEcAn is not itself an ecosystem model, and it can be used to with a variety of

## Documentation

Consult our [Documentation](https://pecanproject.github.io/pecan-documentation/)for full documentation of the PEcAn Project.
Consult our [Documentation](https://pecanproject.github.io/pecan-documentation/) for full documentation of the PEcAn Project.

## Getting Started

Expand Down Expand Up @@ -49,7 +49,7 @@ The demo instance only allows for runs at pecan.ncsa.illinois.edu. Once you have

## Acknowledgements

The PEcAn project is supported by the National Science Foundation (ABI #1062547, ABI #1458021, DIBBS #1261582, ARC #1023477, EF #1318164, EF #1241894, EF #1241891), NASA Terrestrial Ecosystems, the Energy Biosciences Institute, and an Amazon AWS in Education Grant.
The PEcAn project is supported by the National Science Foundation (ABI #1062547, ABI #1458021, DIBBS #1261582, ARC #1023477, EF #1318164, EF #1241894, EF #1241891), NASA Terrestrial Ecosystems, the Energy Biosciences Institute, Department of Energy (ARPA-E awards #DE-AR0000594 and DE-AR0000598), and an Amazon AWS in Education Grant.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation, NASA, or other federal agencies. PEcAn is a collaboration among research groups at the Department of Earth And Environment at Boston University, the Carl Woese Institute for Genomic Biology at the University of Illinois, the Image Spatial Data Analysis group at the National Center for Supercomputing Applications, the Department of Atmospheric & Oceanic Sciences at the University Wisconsin-Madison, and the Terrestrial Ecosystem Science & Technology group at Brookhaven National Lab.

Expand Down
7 changes: 4 additions & 3 deletions all/DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ Package: PEcAn.all
Type: Package
Title: PEcAn functions used for ecological forecasts and
reanalysis
Version: 1.4.10.1
Date: 2017-04-18
Version: 1.5.0
Date: 2017-07-14
Author: David LeBauer, Mike Dietze, Xiaohui Feng, Dan Wang,
Mike Dietze, Carl Davidson, Rob Kooper, Shawn Serbin
Maintainer: David LeBauer <dlebauer@illinois.edu>
Expand Down Expand Up @@ -34,7 +34,8 @@ Suggests:
PEcAn.DALEC,
PEcAn.LINKAGES,
PEcAn.allometry,
PEcAn.photosythesis
PEcAn.photosythesis,
testthat
License: FreeBSD + file LICENSE
Copyright: Authors
LazyLoad: yes
Expand Down
3 changes: 2 additions & 1 deletion book_source/_bookdown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ rmd_files: [
"developers_guide/Directory-structure.Rmd",
"developers_guide/Adding-an-Ecosystem-Model.Rmd",
"developers_guide/Adding-an-Input-Converter.Rmd",
"adv_user_guide_web/DART_state_data_assimilation.Rmd",
"developers_guide/How-to-insert-new-Input-data.Rmd",
"developers_guide/Configuration-Files.Rmd",
"developers_guide/Coding_style.Rmd",
"developers_guide/Roxygen2.Rmd",
Expand All @@ -78,5 +78,6 @@ rmd_files: [
"installation/Installing-PEcAn-models.Rmd",
"installation/PEcAn-in-the-Cloud.Rmd",
"installation/centos.shiny.Rmd",
"installation/thredds.Rmd",
"misc/faq.Rmd"
]
9 changes: 8 additions & 1 deletion book_source/adv_user_guide_web/using_browndog.Rmd
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# Using Browndog
# Using Browndog

The Browndog service provides PEcAn with access to large and diverse sets of data at the click of a button in the format that PEcAn needs. By clicking the checkbox you will be using the Browndog Service to process data.

For more information regarding meteorological data check out [Available Meteorological Drivers]

** [More Informatoin can be found at the Browndog website](http://browndog.ncsa.illinois.edu/)**

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ At the moment, PEcAn has two cases for initial conditions and they only exist as

If files already exist in the database, they can simply be selected from the menu. For ED2, there are 3 different veg files (site, pss, css) and it is important that you select a complete set, not mix and match.

If files don't exist they can be uploaded following the instructions on [[How to insert new Input data]]. Information on the ED2-specific format is located [here](../../ED-configuration.md)
If files don't exist they can be uploaded following the instructions on [How to insert new Input data](../developers_guide/How-to-insert-new-Input-data.html). Information on the ED2-specific format is located [here](../../ED-configuration.md)

Two additional options are in development:

Expand Down
4 changes: 2 additions & 2 deletions book_source/basic_users_guide/Choosing-soils.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

Many models have requirements for soils information, which may include: site-specific soil texture and depth information; soil biogeochemical initial conditions (e.g. soil carbon and nitrogen pools); soil moisture initial conditions; and soil thermal initial conditions.

As with [[Choosing initial vegetation]], we eventually hope to develop data standards, soils workflows, and spin-up tools, but at the moment model requirements need to be met by [[inserting Input data|How to insert new Input data]] into the database or using files that have already been uploaded.
As with [[Choosing initial vegetation]], we eventually hope to develop data standards, soils workflows, and spin-up tools, but at the moment model requirements need to be met by [inserting Input data](../developers_guide/How-to-insert-new-Input-data.html) into the database or using files that have already been uploaded.

Finally, any other model-specific inputs (e.g. N deposition, land use history, etc), should be met by [[inserting Input data|How to insert new Input data]] into the database or using files that have already been uploaded.
Finally, any other model-specific inputs (e.g. N deposition, land use history, etc), should be met by [inserting Input data](../developers_guide/How-to-insert-new-Input-data.html) into the database or using files that have already been uploaded.
9 changes: 9 additions & 0 deletions book_source/basic_users_guide/Getting-started.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,12 @@ Select the default drive volume type and click Next


[pecan-wikipedia]: https://en.wikipedia.org/wiki/Pecan

## PEcAN Demos

Once you have installed A VM or have a version of PEcAn you'll want to run through Demo 1 and Demo 2:

[Demo 01](https://pecanproject.github.io/pecan-documentation/tutorials/Demo01.html)
[Demo 02](https://pecanproject.github.io/pecan-documentation/tutorials/Demo02.html)

For Additional Tools and Vignettes - Check out
40 changes: 35 additions & 5 deletions book_source/book_intro/how_to_use_book.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,42 @@ tab at the bottom to see what we are up to. All you need is a github account and
If you do not wish your communication with the team to be public, send us an email at the
address above and we will get back to you as soon as possible.

## How this Book is organized
# Main Topics

This book is organized into three main sections:
This book is organized around these main topics:

1. A user section that is split three ways into a basic user's guide, advanced web interface guide, and an advanced user guide for using pecan from the command line.
**Basic User Guide** - Explains a simple setup of PEcAn and how to execute a basic run

**Advanced User Guide- Web** - Explains the advanced features offered on our web interface

**Advanced User Guide - Cmd Line** - Explains more advanced customization of PEcAn that can be run from the command line.

**User Appendix** - Supplementary materials for the user section.

**PEcAn Workflow** - High Level explanation of the PEcAn workflow.

2. A section dedicated to expaining the core modules contained within the PEcAn workflow.
**Development Guide** - Explains what you need to know in order to contibute code to PEcAn.

**Appendix** - Supplementary materials for the developer section.


3. A developer section meant to serve as a guide to anyone interested in contributing to the project.
### Using PEcAn

We have developed a number of demos and vignettes to guide your use of PEcAn's many capabilities:

|Type|Title|Web Link| Source Rmd|
|:--:|:---:|:------:|:---------:|
|Demo| Basic Run| [html](https://pecanproject.github.io/pecan-documentation/tutorials/Demo01.html) | [Rmd](https://github.com/PecanProject/pecan/blob/develop/documentation/tutorials/01_Demo_Basic_Run/Demo01.Rmd)|
|Demo| Uncertainty Analysis| html| [Rmd](https://github.com/PecanProject/pecan/tree/master/documentation/tutorials/02_Demo_Uncertainty_Analysis)|
|Demo| Output Analysis|html |[Rmd](https://github.com/PecanProject/pecan/tree/develop/documentation/tutorials/AnalyzeOutput)|
|Demo| MCMC |html|[Rmd](https://github.com/PecanProject/pecan/tree/develop/documentation/tutorials/MCMC)|
|Demo|Parameter Assimilation |html |[Rmd](https://github.com/PecanProject/pecan/tree/develop/documentation/tutorials/ParameterAssimilation)|
|Demo|State Assimilation|html|[Rmd](https://github.com/PecanProject/pecan/tree/develop/documentation/tutorials/StateAssimilation)|
|Demo| Sensitivity|html|[Rmd](https://github.com/PecanProject/pecan/tree/develop/documentation/tutorials/sensitivity)|
|Vignette|Allometries|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/allometry/vignettes/AllomVignette.Rmd)|
|Vignette|MCMC|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/assim.batch/vignettes/AssimBatchVignette.Rmd)|
|Vignette|Meteorological Data|html|[Rmd](https://github.com/PecanProject/pecan/tree/master/modules/data.atmosphere/vignettes)|
|Vignette|Meta-Analysis|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/meta.analysis/vignettes/single.MA_demo.Rmd)|
|Vignette|Photosynthetic Response Curves|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/photosynthesis/vignettes/ResponseCurves.Rmd)|
|Vignette|Priors|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/priors/vignettes/priors_demo.Rmd)|
|Vignette|Leaf Spectra:PROSPECT inversion|html|[Rmd](https://github.com/PecanProject/pecan/blob/master/modules/rtm/vignettes/pecanrtm.vignette.Rmd)|
2 changes: 1 addition & 1 deletion book_source/data/meteorology.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Scale: varies by model

Resolution: 3 hr

Availability: 2000-2100
Availability: 2006-2100

Currently only GFDL available. Different scenerios and ensemble members can be set via Advanced Edit.

Expand Down
3 changes: 3 additions & 0 deletions book_source/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ set -e
#check for environment variable
[ -z "${GITHUB_PAT}" ] && exit 0

#Print who made GITHUB_PAT variable
echo "GITHUB_PAT variable made by Tony Gardella"

# don't run on pull requests
[ "$TRAVIS_PULL_REQUEST" != "false" ] && exit 0

Expand Down

0 comments on commit 3d48860

Please sign in to comment.