DrylandEcology / rSFSTEP2

R program that interfaces with the STEPWAT2 C code and runs in parallel for multiple sites, climate scenarios, disturbance regimes, and time periods
0 stars 1 forks source link

Monthly breaks in phenological activity values #169

Closed kpalmqui closed 4 years ago

kpalmqui commented 4 years ago

I tested for two sites and for 13 GCMs, 1 RCP, and two future time periods. My test runs completely successfully without error.

I noticed some odd behavior for the phenology values that are generated on the fly. Find below the default phenological activity values provided in the input csv for shrubs (shrub_phenology_inputscsvfile) and the new scaled phenology values for shrubs for site 21 under two future climate scenarios (shrub_phenology_site21_d90yrs.RCP85.CanESM2, shrub_phenology_site21_d90yrs.RCP85.MRI-CGCM3). The odd behavior is that phenological activity can be turned off in a month that was preceeded by a month with phenological activity and by a subsequent month where phenological activity is non-zero. This is not really the behavior we expect. Once a rgroup is phenologically active, it should remain so until its growth ends (it senesces or dies). Thus, we should have periods where plants are continually phenologically active in back to back months followed by phenologically inactive months. This is why the default phenological inputs are specified as they are. For example, shrubs:

0 | 0.025 | 0.1 | 0.125 | 0.15 | 0.25 | 0.15 | 0.1 | 0.0625 | 0.0125 | 0.025 | 0

orig.future.phenology.shrubs.xlsx

I did not think to clarify this point in my description of this task on Github.

@dschlaep do you agree with my assessment?

kpalmqui commented 4 years ago

FROM @chaukap:

@kpalmqui The only place that the actual phenologyical values are modified is in Vegetation.R:

for (k_scen in seq_len(n_climate.conditions)) { temp_clim <- rSOILWAT2::calc_SiteClimate( weatherList = sw_weatherList[[n_sites]][[k_scen]], do_C4vars = TRUE, do_Cheatgrass_ClimVars = TRUE, latitude = site_latitude[n_sites])

return_list[[k_scen]] <- rSOILWAT2::adjBiom_by_temp(matrices, temp_clim[["meanMonthlyTempC"]], 
                                                    reference_growing_season = defaultGrowingSeason)

} @dschlaep could you confirm that I'm calling this function correctly?

kpalmqui commented 4 years ago

@dschlaep @chaukap

I just completed a new set of test runs after pulling the latest commits to rSOILWAT2 on feature_biomassphenology https://github.com/DrylandEcology/rSOILWAT2/commit/902561fa0f93a81ed7fb32ef14f437dcaa71f693 and it does instead look like this commit has resolved the problem. I am no longer seeing monthly breaks in phenological activity for shrubs. I hope to be able to summarize that more carefully once the function that @chaukap documented in https://github.com/DrylandEcology/rSFSTEP2/issues/168 is complete.