Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Grazing #1140

Open
wants to merge 18 commits into
base: main
Choose a base branch
from
Open

Grazing #1140

wants to merge 18 commits into from

Conversation

ckoven
Copy link
Contributor

@ckoven ckoven commented Dec 19, 2023

An initial implementation to allow herbivores to graze and browse plants, with different grazing rates on different land use classes.

Description:

This PR adds the basic capability to have grazers and browsers eat plants. The basic idea is to specify this as a rate of consumption in units of 1/time. I.e. grazers and browsers eat X% of all accessible leaves of edible plants per day on columns of land-use type Y, as controlled by the parameter fates_landuse_grazing_rate(fates_landuseclass). The specification of what is considered edible plants is parametric and controlled by a PFT-level trait fates_landuse_grazing_palatability(fates_pft), so e.g. this can be specified to include grazers (who eat herbaceous plants only) and/or browsers (who eat the leaves of woody plants). And then all leaves of that PFT on columns of that land use type that are below a height of parameter fates_landuse_grazing_maxheight can be subject to herbivory.

The fate of the eaten material is controlled by three "use-efficiency" parameters: fates_landuse_grazing_carbon_use_eff', fates_landuse_grazing_nitrogen_use_eff, 'fates_landuse_grazing_phosphorus_use_eff'. So some mass can be lost from the ecosystem and some can be added to the litter pools via manure (and, I suppose, mortality of grazers).

Default parameter values that are there now (all of which extremely subject to change) are to make this only apply on pasture and rangeland, with a rate of 4% per day based on https://doi.org/10.5194/gmd-11-815-2018 by @samsrabin et al., and currently only grazers (i.e. only applies to nonwoody PFTs). I couldn't find a whole lot of data on the use-efficiency parameters, but those shouldn't be too important until we are running nutrient cycles at large scale under transient change.

fixes #936

Collaborators:

Expectation of Answer Changes:

This will be answer changing if the parameters are set to allow grazing.

Checklist

If this is your first time contributing, please read the CONTRIBUTING document.

All checklist items must be checked to enable merging this pull request:

Contributor

  • The in-code documentation has been updated with descriptive comments
  • The documentation has been assessed to determine if updates are necessary

Integrator

  • FATES PASS/FAIL regression tests were run
  • Evaluation of test results for answer changes was performed and results provided

Documentation

Test Results:

CTSM (or) E3SM (specify which) test hash-tag:

CTSM (or) E3SM (specify which) baseline hash-tag:

FATES baseline hash-tag:

Test Output:

@ckoven ckoven added the draft label Dec 19, 2023
@glemieux glemieux requested a review from samsrabin May 28, 2024 18:44
@glemieux glemieux requested a review from jenniferholm June 17, 2024 19:24
Copy link
Contributor

@samsrabin samsrabin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure if this was actually ready for review, as it has the "draft" tag but isn't a Draft in the Github sense. Anyway, I've made some (initial?) comments. Also: Where are the new parameters actually read?


currentSite%mass_balance(element_id)%herbivory_flux_out = &
currentSite%mass_balance(element_id)%herbivory_flux_out + &
leaf_herbivory * (1._r8 - herbivory_element_use_efficiency) * currentCohort%n
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm guessing herbivory_flux_out is actually sent to the atmosphere by the HLM, right?


function GetHerbivory(this, organ_id, element_id, position_id) result(herbivory_val)

! This function is very very similar to GetBurned
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact it looks identical, aside from herbivory replacing burned. Could these be replaced with a single function? Named, e.g., GetDisturbed.

do i_pos = 1,prt_global%state_descriptor(i_var)%num_pos

! The mass that is leaving the plant
consumed_mass = mass_fraction * prt%variables(i_var)%val(i_pos)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consumed_mass should presumably be herbivore_consumed_mass?

@ckoven
Copy link
Contributor Author

ckoven commented Jul 8, 2024

Not sure if this was actually ready for review, as it has the "draft" tag but isn't a Draft in the Github sense. Anyway, I've made some (initial?) comments. Also: Where are the new parameters actually read?

Thanks @samsrabin! Yes, this is draft in the sense that it wasn't done or tested. And yes, one of the things that isn't done yet is the code to actually read the new parameters. But better to get eyes on it sooner rather than later.

@glemieux glemieux added the parameter file Pertaining to changes to the FATES parameter file label Jul 22, 2024
@ckoven ckoven removed the draft label Oct 31, 2024
@rgknox
Copy link
Contributor

rgknox commented Nov 18, 2024

We need to bump this value up to something bigger, we are hitting our limit on maximum parameters already:

https://github.com/NGEET/fates/blob/main/main/FatesParametersInterface.F90#L12

Maybe 400?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
parameter file Pertaining to changes to the FATES parameter file
Projects
Status: Under Review
Development

Successfully merging this pull request may close these issues.

4 participants