PEcAn 1.7.2 Release
Due to dependencies, PEcAn is now using R 4.0.3 for Docker images.
This is a major change:
- Newer version of R
- Ubuntu 20.04 instead of Debian.
Fixed
- Removed sender.py and now allow the submission of workflows from inside the rstudio container.
- Use TRAEFIK_FRONTEND_RULE in compose file and TRAEFIK_HOST in env.example, using TRAEFIK_HOST everywhere now. Make sure TRAEFIK_HOST is used in .env
- Use initial biomass pools for Sorghum and Setaria #2495, #2496
- PEcAn.DB::betyConnect() is now smarter, and will try to use either config.php or environment variables to create a connection. It has switched to use db.open helper function (#2632).
- PEcAn.utils::tranformstats() assumed the statistic names column of its input was a factor. It now accepts character too, and returns the same class given as input (#2545).
- fixed and added tests for
get.rh
function in PEcAn.data.atmosphere - Invalid .zenodo.json that broke automatic archiving on Zenodo (b56ef53)
- Fixed a filehandle leak in multi-year runs of PEcAn.BIOCRO::met2model.BIOCRO: It was only closing the last input file it processed (#2485).
- Fix issue with cruncep download: use netcdf subset (ncss) method instead of opendap (#2424).
- The
parse
option toPEcAn.utils::read_web_config
had no effect whenexpand
was TRUE (#2421). - Fixed a typo that made
PEcAn.DB::symmetric_setdiff
falsely report no differences (#2428). - sipnet2netcdf will now only extract the data for the year requested (#2187)
- Fixed Priors vignette (#2439).
- When building sipnet model would not set correct model version
- Update pecan/depends docker image to have latest Roxygen and devtools.
- Update ED docker build, will now build version 2.2.0 and git
- Do not override meta-analysis settings random-effects = FALSE #2625
- model2netcdf.ED2 no longer detecting which varibles names
-T-
files have based on ED2 version (#2623) - Changed docker-compose.yml to use user & group IDs of the operating system user (#2572)
- gSSURGO file download now added as inputs into BETY through extract_soil_gssurgo (#2666)
- ensure Tleaf converted to K for temperature corrections in PEcAn.photosynthesis::fitA (#2726)
- fix bug in summarize.result to output stat, which is needed to turn on RE in the meta-analysis (#2753)
- ensure that control treatments always receives the random effect index of 1; rename madata.Rdata to jagged.data.Rdata and include database ids and names useful for calculating parameter estimates by treatment (#2756)
- ensure that existing meta-analysis results can be used for pfts with cultivars (#2761)
- Major code cleanup by GSoC student @moki1202, fixing many check warnings across 10 packages
(#2771, #2773, #2774, #2775, #2805, #2815, #2826, #2830, #2857)
Changed
- Removed deprecated mstmip_vars and mstmip_local; now all functions use the combined standard_vars.csv
- RabbitMQ is set to be 3.8 since the 3.9 version can no longer be configured with environment variables.
- Removed old api, now split into rpecanapi and apps/api.
- Replaced
tmvtnorm
package withTruncatedNormal
package for speed up per #2621. - Continuous integration changes: Added experimental GitHub Actions CI builds (#2544), streamlined Travis CI builds, added a fourth R version (second-newest old release; currently R 3.5) to Travis test matrix (#2592).
- Functions that update database entries no longer pass
created_at
orupdated_at
timestamps. The database now updates these itself and ensures they are consistently in UTC (#1083). PEcAn.DB::insert_table
now usesDBI::dbAppendTable
internally instead of manually constructed SQL (#2552).- Rebuilt documentation using Roxygen 7. Readers get nicer formatting of usage sections, writers get more flexible behavior when inheriting parameters and less hassle when maintaining namespaces (#2524).
- Renamed functions that looked like S3 methods but were not:
- Stricter package checking:
make check
and CI builds will now fail ifR CMD check
returns any ERRORs or any "newly-added" WARNINGs or NOTEs. "Newly-added" is determined by strict string comparison against a check result saved 2019-09-03; messages that exist in the reference result do not break the build but will be fixed as time allows in future refactorings (#2404). - No longer writing an arbitrary num for each PFT, this was breaking ED runs potentially.
- The pecan/data container has no longer hardcoded path for postgres
- PEcAn.JULES: Removed dependency on
ncdf4.helpers
package, which has been removed from CRAN (#2511). - data.remote: Arguments to the function
call_MODIS()
have been changed (issue #2519). - Changed precipitaion downscale in
PEcAn.data.atmosphere::download.NOAA_GEFS_downscale
. Precipitation was being downscaled via a spline which was causing fake rain events. Instead the 6 hr precipitation flux values from GEFS are preserved with 0's filling in the hours between. - Changed
dbfile.input.insert
to work with inputs (i.e soils) that don't have start and end dates associated with them - Default behavior for
stop_on_error
is nowTRUE
for non-ensemble runs; i.e., workflows that run only one model simulation (or omit theensemble
XML group altogether) will fail if the model run fails. For ensemble runs, the old behavior is preserved; i.e., workflows will continue even if one of the model runs failed. This behavior can also be manually controlled by setting the newrun -> stop_on_error
XML tag toTRUE
orFALSE
. - Several functions have been moved out of
PEcAn.utils
into other packages (#2830, #2857):ensemble.filename
,get.results
,runModule.get.results
,read.sa.output
,sensitivity.filename
,
andwrite.sa.configs
have been moved toPEcAn.uncertainty
.create.base.plot
,dhist
,plot_data
andtheme_border
have been moved toPEcAn.visualizaton
.
Added
- BioCro can export Aboveground Biomass (#2790)
- Functionality for generating the same ensemble parameter sets with randtoolbox functions.
- Functionality for joint sampling from the posteriors using randtoolbox functions.
- BASGRA-SDA couplers.
- Now creates docker images during a PR, when merged it will push them to docker hub and github packages
- New functionality to the PEcAn API to GET information about PFTs, formats & sites, submit workflows in XML or JSON formats & download relevant inputs/outputs/files related to runs & workflows (#2674 #2665 #2662 #2655)
- Functions to send/receive messages to/from rabbitmq.
- Documentation in DEV-INTRO.md on development in a docker environment (#2553)
- PEcAn API that can be used to talk to PEcAn servers. Endpoints to GET the details about the server that user is talking to, PEcAn models, workflows & runs. Authetication enabled. (#2631)
- New versioned ED2IN template: ED2IN.2.2.0 (#2143) (replaces ED2IN.git)
- model_info.json and Dockerfile to template (#2567)
- Dockerize BASGRA_N model.
- Basic coupling for models BASGRA_N and STICS.
- PEcAn.priors now exports functions
priorfig
andplot_densities
(#2439). - Models monitoring container for Docker now shows a webpage with models it has seen
- Added small container to check if certain services are up, used as initi container for kubernetes
- Documentation how to run ED using singularity
- PEcAn.DB gains new function
get_postgres_envvars
, which tries to look up connection parameters from Postgres environment variables (if they are set) and return them as a list ready to be passed todb.open
. It should be especially useful when writing tests that need to run on systems with many different database configurations (#2541). - New shiny application to show database synchronization status (shiny/dbsync)
- Ability to run with MERRA-2 meteorology (reanalysis product based on GEOS-5 model)
- Ability to run with ICOS Ecosystem products
Removed
- Removed travis integration
- Removed the sugarcane and db folders from web, this removes the simple DB editor in the web folder. (#2532)
- Removed ED2IN.git (#2599) 'definitely going to break things for people' - but they can still use PEcAn <=1.7.1
- Database maintenance scripts
vacuum.bety.sh
andreindex.bety.sh
have been moved to the BeTY database repository (#2563). - Scripts
dump.pgsql.sh
anddump.mysql.sh
have been deleted. See the "BeTY database administration" chapter of the PEcAn documentation for current recommendations (#2563). - Old dependency management scripts
check.dependencies.sh
,update.dependencies.sh
, andinstall_deps.R
have been deleted. Usegenerate_dependencies.R
and the automatic dependency handling built intomake install
instead (#2563). - Deprecated copies of functions previously moved to other packages have been removed from
PEcAn.utils
(#2830):do_conversions
andrunModule.run.write.configs
,run.write.configs
. These are now inPEcAn.workflow
get.ensemble.samples
,read.ensemble.output
,write.ensemble.configs
. These are now inPEcAn.uncertainty
logger.debug
,logger.error
,logger.getLevel
,logger.info
,logger.setLevel
,
logger.setOutputFile
,logger.setQuitOnSevere
,logger.setWidth
,logger.severe
,logger.warn
.
These are now inPEcAn.logger