Per default, the runs are not only set up but also executed with FOCUS PELMO, the results are processed and returned. Currently, only FOCUS PELMO as installed on Linux (or other Unix systems) using the install_PELMO from the PELMO.installeR package maintained on github is supported. In such installations, FOCUS PELMO is installed into the package installation directory of PELMO.installeR and run using wine.

PELMO_runs(runs, psm_dir = ".", version = "5.5.3", PELMO_base = "auto",
  execute = TRUE, cores = getOption("mc.cores", 2L), evaluate = TRUE,
  overwrite = FALSE)

run_PELMO(runs, version = "5.5.3", PELMO_base = "auto",
  cores = getOption("mc.cores", 2L))

evaluate_PELMO(runs, version = "5.5.3", PELMO_base = "auto")

Arguments

runs
A list of lists. Each inner lists has an element named 'psm' that holds the psm string, and elements named using three letter crop acronyms, as used in FOCUS_PELMO_crops, that hold character vectors of three letter scenario acronyms as used in FOCUS_GW_scenarios_2012.
psm_dir
The directory where the psm files are located
version
The FOCUS PELMO version
PELMO_base
Where the FOCUS PELMO installation is located
execute
Should PELMO be executed directly?
cores
The number of cores to execute PELMO runs in parallel
evaluate
Should the results be returned?
overwrite
Should an existing run directories be overwritten

Value

If evaluate is TRUE, a list of lists of matrices holding the PEC data.

Details

As a side effect, an R data file (period_pfm.rda) is generated in each run directory, holding the results for all FOCUS periods, equivalent to the period.plm file generated by the FOCUS PELMO GUI.

References

PELMO.installeR https://jranke.github.io/PELMO.installeR

Wine https://winehq.org

PELMO test results http://esdac.jrc.ec.europa.eu/public_path/projects_data/focus/gw/models/pelmo/test-results/test_results_FOCUS_PELMO_5_5_3.doc

Examples

# Reproduce the official test results for annual application of Pesticide D # to winter cereals at the day before emergence runs_1 <- list( list(psm = 'Pesticide_D', win = c("Cha", "Ham", "Jok", "Kre", "Oke", "Pia", "Por", "Sev", "Thi")), list(psm = 'Pesticide_D_1_day_pre_em_every_third_year', pot = c("Cha", "Ham", "Jok", "Kre", "Oke", "Pia", "Por", "Sev", "Thi"))) time_1 <- system.time( PECgw_1 <- PELMO_runs(runs_1, psm_dir = system.file("testdata", package = "pfm"), cores = 6, overwrite = TRUE) ) print(PECgw_1)
#> $Pesticide_D #> $Pesticide_D$win #> FOCUS DUMMY D #> Cha 0.025 #> Ham 1.621 #> Jok 0.388 #> Kre 0.467 #> Oke 1.608 #> Pia 0.848 #> Por 2.386 #> Sev 0.009 #> Thi 0.030 #> #> #> $Pesticide_D_1_day_pre_em_every_third_year #> $Pesticide_D_1_day_pre_em_every_third_year$pot #> FOCUS DUMMY D #> Cha 0.010 #> Ham 0.014 #> Jok 0.009 #> Kre 0.027 #> Oke 0.085 #> Pia 0.051 #> Por 0.021 #> Sev 0.000 #> Thi 0.001 #> #>
# We get exactly the same PECgw values (on Linux, calling PELMO using Wine). print(time_1)
#> User System verstrichen #> 231.892 0.496 57.056
# Demonstrate some results with metabolites. runs_2 <- list(list(psm = 'Pesticide_D_1_May_every_other_year_mets', win = c("Cha", "Ham", "Kre"))) PECgw_2 <- PELMO_runs(runs_2, psm_dir = system.file("testdata", package = "pfm"), cores = 3, overwrite = TRUE) print(PECgw_2)
#> $Pesticide_D_1_May_every_other_year_mets #> $Pesticide_D_1_May_every_other_year_mets$win #> FOCUS DUMMY D M1 M2 #> Cha 0.001 126.195 0.000 #> Ham 0.054 82.196 0.001 #> Kre 0.103 75.494 0.001 #> #>