Skip to content

Instantly share code, notes, and snippets.

@dlebauer
Last active May 14, 2020 16:48
Show Gist options
  • Save dlebauer/6df05ab004af09e05319be7bc9d97887 to your computer and use it in GitHub Desktop.
Save dlebauer/6df05ab004af09e05319be7bc9d97887 to your computer and use it in GitHub Desktop.
debugging workflow.R
<?xml version="1.0"?>
<pecan>
<outdir>pecan</outdir>
<database>
<bety>
<driver>PostgreSQL</driver>
<user>bety</user>
<password>bety</password>
<host>postgres</host>
<dbname>bety</dbname>
<write>FALSE</write>
</bety>
</database>
<pfts>
<pft>
<name>ebifarm.c4grass.doe_vd</name>
</pft>
</pfts>
<meta.analysis>
<iter>3000</iter>
<random.effects>FALSE</random.effects>
<threshold>1.2</threshold>
<update>AUTO</update>
</meta.analysis>
<ensemble>
<variable>NPP</variable>
</ensemble>
<!--
<sensitivity.analysis>
<quantiles>
<sigma>-1</sigma>
<sigma>1</sigma>
</quantiles>
<variable>NPP</variable>
</sensitivity.analysis>
-->
<model>
<binary>/usr/local/bin/ed2.git</binary>
<type>ED2</type>
<revision>git</revision>
<config.header>
<radiation>
<lai_min>0.01</lai_min>
</radiation>
<ed_misc>
<output_month>12</output_month>
</ed_misc>
</config.header>
<phenol.scheme>0</phenol.scheme>
</model>
<run>
<site>
<id>76</id>
<met.start>2004-01-01 00:00:00</met.start>
<met.end>2009-12-31 23:59:59</met.end>
</site>
<inputs>
<met>/home/carya/sites/ebifarm/ED_MET_DRIVER_HEADER</met>
<veg>/home/carya/oge2OLD/OGE2_</veg>
<soil>/home/carya/faoOLD/FAO_</soil>
<pss>/home/carya/sites/ebifarm/ebifarm.lat40.0lon-88.0.pss</pss>
<css>/home/carya/sites/ebifarm/ebifarm.lat40.0lon-88.0.css</css>
<site>/home/carya/sites/ebifarm/ebifarm.lat40.0lon-88.0.site</site>
<lu>/home/carya/ed_inputs/glu</lu>
<thsum>/home/carya/ed_inputs</thsum>
</inputs>
<start.date>2006/01/01</start.date>
<end.date>2006/12/31</end.date>
<host>
<name>docker</name>
</host>
<dbfiles>pecan/dbfiles</dbfiles>
</run>
</pecan>
devtools::install_github("pecanproject/pecan/api@develop")
options(pecanapi.user_id = 99000000002)
con <- DBI::dbConnect(
RPostgres::Postgres(),
user = "bety",
password = "bety",
host = "localhost",
port = 5432
)
options(pecanapi.user_id = 99000000002)
con <- DBI::dbConnect(
RPostgres::Postgres(),
user = "bety",
password = "bety",
host = "localhost",
port = 5433
)
con <- DBI::dbConnect(
RPostgres::Postgres(),
user = "bety",
password = "bety",
host = "localhost",
port = 5433
)
# ----------------------------------------------------------------------
# PEcAn Workflow
# ----------------------------------------------------------------------
# Open and read in settings file for PEcAn run.
args <- commandArgs(trailingOnly = TRUE)
host = "localhost",
settings <- PEcAn.settings::read.settings("pecan/tests/pecan64.ed2.xml")
settings <- PEcAn.settings::read.settings("pecan/tests/pecan64.ed2.xml")
settings <- PEcAn.settings::read.settings("pecan/tests/pecan64.ed.xml")
# Check for additional modules that will require adding settings
if ("benchmarking" %in% names(settings)) {
library(PEcAn.benchmark)
settings <- papply(settings, read_settings_BRR)
}
if ("sitegroup" %in% names(settings)) {
if (is.null(settings$sitegroup$nSite)) {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id)
} else {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id,
nSite = settings$sitegroup$nSite)
}
# zero out so don't expand a second time if re-reading
settings$sitegroup <- NULL
}
# Update/fix/check settings.
# Will only run the first time it's called, unless force=TRUE
settings <- PEcAn.settings::prepare.settings(settings, force = FALSE)
settings$host
settings$host <- settings$run$host
# Check for additional modules that will require adding settings
if ("benchmarking" %in% names(settings)) {
library(PEcAn.benchmark)
settings <- papply(settings, read_settings_BRR)
}
if ("sitegroup" %in% names(settings)) {
if (is.null(settings$sitegroup$nSite)) {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id)
} else {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id,
nSite = settings$sitegroup$nSite)
}
# zero out so don't expand a second time if re-reading
settings$sitegroup <- NULL
}
# Update/fix/check settings.
# Will only run the first time it's called, unless force=TRUE
settings <- PEcAn.settings::prepare.settings(settings, force = FALSE)
settings$run$host <- NULL
# Check for additional modules that will require adding settings
if ("benchmarking" %in% names(settings)) {
library(PEcAn.benchmark)
settings <- papply(settings, read_settings_BRR)
}
if ("sitegroup" %in% names(settings)) {
if (is.null(settings$sitegroup$nSite)) {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id)
} else {
settings <- PEcAn.settings::createSitegroupMultiSettings(
settings,
sitegroupId = settings$sitegroup$id,
nSite = settings$sitegroup$nSite)
}
# zero out so don't expand a second time if re-reading
settings$sitegroup <- NULL
}
# Update/fix/check settings.
# Will only run the first time it's called, unless force=TRUE
settings <- PEcAn.settings::prepare.settings(settings, force = FALSE)
# ----------------------------------------------------------------------
# Load required libraries
# ----------------------------------------------------------------------
library(PEcAn.all)
library(PEcAn.utils)
library(RCurl)
# Update/fix/check settings.
# Will only run the first time it's called, unless force=TRUE
settings <- PEcAn.settings::prepare.settings(settings, force = FALSE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment