GithubHelp home page GithubHelp logo

caland's People

Contributors

aldivi avatar msimmond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

caland's Issues

Negligible dead C fluxes should be included for sensitivity analyses

We can do this later, as time permits. We currently assume that these fluxes are negligible in relation to our other fluxes, which mostly means that our dead C pool may be top-heavy over time.
Basically, we need C transfers from standing to downed to litter, and litter to soil.
And respiration from standing, downed, and litter.

co2eq plots have different signs

unless specified as a gain (which signifies positive is into the variable of interest), the co2eq units should be negative into the land and positive into the atmosphere
totalnonburn and totalwood appear to incorrect signs

Allow the urban management records to be input to CALAND as fractions

Then the areas will be calculated each year based on these fractions, within CALAND.
This will allow for easier scenario generation because all of the years will not have to be entered in each scenario to keep urban forest and dead removal calculated for same years across scenarios for consistency.
Maybe just put these fractions in the current area table? With a note in the header?

Fix needed in plot_caland for plotting management area for All_land

From Alan's email on May 7 2018: "There appears to be a bug in plot_caland.r regarding "All_land" plotting of managed area. The output file looks correct. And the individual land type plots are correct. One thing to note is that the developed_all total managed area (β€œAll” label in the output file) is the sum of dead removal, urban forest, and growth. It look like that for All_land plots I meant to subtract out the developed_all managed area, but instead ended up plotting the developed_all managed area instead."

fix non-regen LCC issue

From Alan: Conceptually, I was adding the non-regen area to the total forest area lost rather than subtracting it (both values are negative in the code so it is a bit confusing).
The original lines are (3178-3179 in the current master):
lt_conv$area_adj[lt_conv[,conv_col_names[l]] < 0] = lt_conv$area_adj[lt_conv[,conv_col_names[l]] < 0] + lt_conv$non_regen_area[l] * lt_conv$nonreg_add[lt_conv[,conv_col_names[l]] < 0] / lt_conv$non_regen_area[l]
And they should be:
lt_conv$area_adj[lt_conv[,conv_col_names[l]] < 0] = lt_conv$area_adj[lt_conv[,conv_col_names[l]] < 0] - lt_conv$non_regen_area[l] * lt_conv$nonreg_add[lt_conv[,conv_col_names[l]] < 0] / lt_conv$non_regen_area[l]

keep track of cum prescribed burn area for fire severity adjustment

recently removed prescribed burn from cum managed sum so that it can be repeated at short intervals without exploding the managed area c accum benefit
this is consistent with the assumption that prescribed burn is done on land that has been managed within the previous benefit period (currently 20 years)
but now it doesn't contribute to fire sev benefits because its value is zero
to reinstate the value make sure it isn't used for c accum
and then for fore sev subtract it from the other fuel reduction managements proportionally so that the total area is not inflated and the benefits are due to rx burn

add woodland restoration

this will be similar to other restoration activities, and will come out of cultivated and grassland types.

mortality bug where it is applied even if no veg c accum is happening

in the "rest" ecosystem section the above and understory and root mortality needs to check to make sure there is veg c accum, otherwise do not apply it. for now, make sure the input file has zero mortality for the appropriate land categories
but the understory needs to be fixed. the assumption is that the soil c accum is the net exchange and the veg components remain the same if there is noveg c accum
soil carbon gain has to be matched by subtractions from roots (mortality) and litter

update CALAND to include uncertainty range of soil conservation effect

This will involve updating the raw input file for management practices with the mean conservation C flux (not ratio of conservation flux to baseline), se or sd and min/max, headers file with new comments, and caland.r with (1) a new argument in caland function that selects which value (i.e. column) to use from input file, and (2) to calculate the effect factor within the function.

Extra root mortality transfer bug

For forest and the rest of the land types (not savanna/woodland), mortality greater than the initial year is added (or subtracted if it is less than the initial, or at least it should be) to the soil c.
The difference that is added is incorrect (it is currently the difference between the initial year mortality carbon and the current year mortality carbon).
It should be the difference between the mortality calculated in the current year using the initial mortality fraction, and the mortality calculated in the current year using the current year mortality fraction.

new land use data needs to be processed into useful CALAND format

The USGS fourth assessment land use data needs to be processed into the CALAND annual area change input data format. There should be two outputs:
a constant annual rate, just like the current input data
each year has its own rate, so there would be many columns, like the other annually varying inputs--CALAND will have to be modified to accept this kind of input (another issue will be opened for this modification)

another issue has been opened to update the input file script to incorporate these new land use inputs into the actual input files

Bioenergy needs a pathway from forest residue decaying or burned on-site

This is for version 3. This is for exploring the effects of utilizing more of the slash.
This amounts to adding complementary paths in the management table parallel to, e.g., "understory2atmos" such as "understory2energy," so that instead of this biomass decaying or being burned it could be utilized for energy. We may need to make explicit paths, such as '2decay,' '2pileburn,' and '2energy' in place of '2atmos.' This way the burned fractions can be changed in the input file.

regionalize urban forest data

This is done in write_caland_inputs.r
We still need to resolve two very different datasets:
bjorkman/mcphersen and dingman
also move some carbon (use the % in the paper) to roots, both for initial and for growth.

allow Dead_removal to be a value other than 1

Currently, reducing the Dead_removal fraction effectively reduces the urban forest area that experiences mortality.
The mortality fraction has to remain as it is in the mortality code, and then the mortality carbon has to be determined from the 'unmanaged' area. This is because the harvested pathway only operates on the 'managed' area.
The weighting of the mortality seems to be ok, as it adjusts the average mortality across managed and unmanaged land.

fix forest management inputs

the raw data files do not include the new slash utilization options
the generated input files do not give the correct accumulation factors (they are all other right now)

update write_caland_inputs.r to create an additional climate change input table

The preprocessed data will be ingested by write_caland_inputs.r and added as a table in the CALAND input scenario file.
This table will be similar to the mortality table in that any years can be included, and the values will be multipliers for the veg and soil sequestration rates.
We may need 2 tables, one for veg and one for soil.
Not sure how to deal with uncertainty yet.

afforestation change calculation needs to be fixed

afforestation input needs to be treated as direct prescribed annual change, rather than a total relative to an initial change value

this means that from lines:
for (i in 1:length(own_names)) {
to

calculate the conversion area matrices by ownership ,

Afforestation needs to be treated the same way as the meadow and marshes, instead of like growth.

Sensitivity analyses

The code needs to be updated to do these two sensitivities separately:
initial carbon density
input carbon accumulation values

It may make sense to do the vegetation and soil input accumulation values separately from each other, which would make 3 separate cases.

The resulting sensitivity runs that we want to do are the +- the standard deviation.

Additional sensitivity runs in the near term are for the newly added parameters for GHG accounting:
burned fractions
and the energy fractions:
fraction of removed to energy for both forest management and land conversion

fix developed_all mortality and dead_removal

if mortality is assigned to developed all, it just disappears because the carbon is not transferred to another pool (becuse the other pools are zero).
also, the current dead_removal assumes that standing dead is removed, but this pool is always zero
for now assume a net flux with mortality as the input.
to fix: send developed all mortality to standing dead only, even if it is zero, and make sure dead_removal covers all the developed_all area to clear out the dead pool

New spatial structure

Capacity needs to be added to CALAND.r to accommodate new input files with a new spatial delineation column for the land catagories.

The diagnostics files will have to be updated as well, which may need to be a separate issue.

possibly add temporal decay for slash (and fire dead?)

first look at this in a spreadsheet, but will likely have to add it.
Use arrays the length of which is the years over which decay occurs.
parameterize an exponential function for remaining material, and store the annual losses.
the rates will be based on the values from measured net changes; but compare with the one paper
shift the values each year once they have been subtracted from the pools.

check for correct management-land type combos in write_caland_inputs

write_caland_inputs only checks that management exists in the params file, not whether that management is applied to the correct land type
if management types are applied to the wrong land types, then undesirable management area calculations will occur. the code will probably still run, but not give correct results.
caland only checks whether the specified land categories to be managed exist, allowing management to be applied to a wrong land type if it exists.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.