Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This code makes it so that, in nocomp configurations only, any given PFT's seeds will all end up in patches where that PFT can grow. The current behavior is that seeds are dispersed around on all patches, but they will only recruit on patches with that PFT's nocomp logic, so that, as a result, a lot of the seeds just decay. The problem with the current logic is that if you imagine a gridcell where there is a PFT that has some tiny area that it is allowed to grow on, then most of that PFTs seeds end up unable to grow. So at the limit, as the nocomp area gets smaller for a given PFT on a given gridcell, it basically guarantees local extinction of that PFT at some point. My hunch is that this is responsible for some weird dynamics I have been seeing under spinup with constant land use, where PFTs can go extinct in the primary land patches of gridcells that have a lot of cropland on them. I still have testing in the queue to see if this code actually fixes that problem. But in any case, it just seems wrong that, at the margin, we would penalize the likelihood of a PFT to maintain a viable population based just on the fractional area that we assign to it. I guess one counterargument would be that seed dispersal and recruitment really does degrade at the range limit of a given species due to habitat discontinuity and lack of dispersers. So I've written this as a hard-coded flag in the code for now, but happy to change it to a namelist flag if others think the counterarguments are strong or this introduces any weird behaviors (still TBD), or alternately delete the flag entirely if others think that the current logic is just wrong.
Note that revisiting some broader discussions we've had in the past of within-gridcell seed dispersal across patches is probably warranted, given that the implied length-scale of patches is likely different for patches that differ only in their disturbance history, versus also in their nocomp PFT and/or land-use labels if those are enabled in a given configuration. This is just the simplest modification I could think of to address this, much more complex ones are also possible. E.g., we may also want to have some fractional seed localization between patches with different land use types on a given gricell, or always localize some fraction of seeds to the parent cohort's patch, etc.
Collaborators:
Discussed with @rgknox.
Expectation of Answer Changes:
This will change answers in nocomp configurations, so I suggest not merging it until we have a bit better sense of how it qualitatively changes things.
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
Integrator
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: