PecanProject / pecan

The Predictive Ecosystem Analyzer (PEcAn) is an integrated ecological bioinformatics toolbox.
www.pecanproject.org
Other
202 stars 234 forks source link

PEcAn ED2 run crashes due to error in system2 #474

Closed Viskari closed 9 years ago

Viskari commented 9 years ago

Hello,

I was trying to run pecan on the TEST server with ED2 that has been checked to work and with bety pft databases temperate.Late_Hardwood.optics and temperate.North_Mid_Hardwood.optics. It loads all the information successfully, but halts with the following error message:

Loading required package: PEcAn.ED2 Loading required package: stringr 2015-05-08 12:23:49 INFO [#2: run.write.configs] : Selected PFT(s): temperate.Late_Hardwood.optics [1] " " [1] "---- Removing previous ED2 config files and output before starting new run ----" [1] " " 2015-05-08 12:23:49 INFO [#2: run.write.configs] : PFT temperate.Late_Hardwood.optics has MCMC samples for: quantum_efficiency leaf_respiration_rate_m2 fineroot2leaf root_respiration_rate SLA Vcmax 2015-05-08 12:23:49 INFO [#2: run.write.configs] : PFT temperate.Late_Hardwood.optics will use prior distributions for: mort2 root_turnover_rate growth_resp_factor stomatal_slope r_fract water_conductance clumping leaf_reflect_vis leaf_reflect_nir leaf_trans_vis leaf_trans_nir 2015-05-08 12:23:49 INFO [#2: run.write.configs] : using 5004 samples per trait 2015-05-08 12:23:50 INFO [#2: run.write.configs] : Ensemble size: 1 2015-05-08 12:23:50 ERROR [write.config.ED2] : Rd0 not found in ED history 2015-05-08 12:23:50 ERROR [write.config.ED2] : leaf_reflect_vis not found in ED history 2015-05-08 12:23:50 ERROR [write.config.ED2] : leaf_reflect_nir not found in ED history 2015-05-08 12:23:50 ERROR [write.config.ED2] : leaf_trans_vis not found in ED history 2015-05-08 12:23:50 ERROR [write.config.ED2] : leaf_trans_nir not found in ED history 2015-05-08 12:23:50 INFO [write.config.ED2] : Using /home1/tviskari/R/library/PEcAn.ED2/ED2IN.r82 as template 2015-05-08 12:23:50 INFO [#2: run.write.configs] :

Finished writing model run config files

2015-05-08 12:23:50 INFO [#2: run.write.configs] : config files samples in /data/tviskari/pecan/run 2015-05-08 12:23:50 INFO [#2: run.write.configs] : parameter values for runs in /data/tviskari/pecan/samples.RData [1] "----------------------------------------------------------------------" [1] "DONE" [1] "----------------------------------------------------------------------" [1] "----------------------------------------------------------------------" [1] "STARTING MODEL" [1] "----------------------------------------------------------------------" [1] "-------------------------------------------------------------------" [1] " Starting model runs ED2" [1] "-------------------------------------------------------------------" |======================================================================| 100%Error in system2(file.path(settings$rundir, format(run, scientific = FALSE), : error in running command Calls: start.model.runs -> system2 [1] "----------------------------------------------------------------------" [1] "DONE" [1] "----------------------------------------------------------------------"

Two questions on this. First are the errors in not finding those parameter files in ED2 history a cause for concern? Second is there any thoughts what could be causing the showstopper here?

mdietze commented 9 years ago

First: Yep, that means that it's not writing those parameters to the ED params.xml. To fix this first make sure that these files are all being read in by the ED xml code, second add them to the appropriate file under models/ed/data/history.[revision].csv

Second: I'd start by checking what you've got set as rundir, but if that's not it you'll have to dig in

Viskari commented 9 years ago

Okay, thank you.

On the first problem, I wasn't able to solve that yet. I did check that as far as I could tell, it was reading those files in, but they were not in csv. Yet before I add them, what should I give as the appropriate values since the list seems to contain those as well?

The second problem I was able to solve, turns out that I had an error in the location of the binary file and managed to get ED2 to run, however at that point it brings up two problems, one which I understand and one which I don't.

The first (second) issue is that the current ED2IN template it read in, ED2.r82 located in R/library/PEcAn.ED2, is an older one and doesn't contain several new namelist items added with the development of ED2. There is a csv file for version 85, but I can't find a template for it. I can create one myself and push it to the mainline after I finish, but I first want to check that it doesn't already exist somewhere and I'm just missing it.

The second (third) issue is that it also gives the following error message:

model2netcdf.ED2('/data/tviskari/pecan/out/ENS-00001', 45.92, -90.45, '2004/01/01', '2004/12/31') [1] "*\ WARNING: No tower output for : /data/tviskari/pecan/out/ENS-00001" Error in model2netcdf.ED2("/data/tviskari/pecan/out/ENS-00001", 45.92, : no loop for break/next, jumping to top level

Which seems odd as I have actual met data for Willow Creek for that year. Is this something I'm doing wrong with the XML?

mdietze commented 9 years ago

1) I don't see the variables you're missing in history.r82.csv, so you'll have to fill them in. They're supposed to be set to the current ED defaults

2) Correct, there is not an ED2IN template for r85. Is there a reason to use r82 or r85 rather than the latest Github code?

3) The error is in model2netcdf.ED2, which processes output, not met2model.ED2, which processes the met input. This error is because the model didn't write output for that year (or it wrote output and for whatever reason the names didn't match). Most common reason for that is a model crash.

Viskari commented 9 years ago

1) Okay, will start on adding them once I figure what it the correct version to reference to.

2) This somewhat confuses. I have the very latest git version of ED2 and am running that binary from the XML. However, doesn't pecan have to create an ED2IN for the run from the template? And do we have a template available for the most current version of the model?

3) Okay, that explains it. So now I only to make it through the model run.

mdietze commented 9 years ago

The latest version of the code has a template, ED2IN.git, which should be called automatically if you registered your executable with that 'git' version of the model in Bety. Your earlier post referred to r82 so I assumed thats what you were still using. There is currently not yet a history.git.csv, but you could make that by just copying the most recent history and updating it.

More generally, we probably shouldn't use 'git' as the version number because the mainline of the code is obviously evolving, but should encourage @rgknox to tag a stable 'release' version soon.

Viskari commented 9 years ago

Okay, just got these issues sorted out. Ran in to a larger issue, but I am putting up a new issue for that.

Thanks for the help.