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

Implement Urban Nature Access model #722

Closed
8 tasks done
phargogh opened this issue Nov 12, 2021 · 5 comments
Closed
8 tasks done

Implement Urban Nature Access model #722

phargogh opened this issue Nov 12, 2021 · 5 comments
Assignees
Labels
enhancement New feature or request in progress This issue is actively being worked on
Milestone

Comments

@phargogh
Copy link
Member

phargogh commented Nov 12, 2021

This is a catch-all issue for implementing the Urban Nature Access model.

See https://github.com/natcap/softwareteam/issues/93 for details.

  • Add ARGS_SPEC
  • Implement validation
  • Add Qt interface based on ARGS_SPEC
  • Add sample data to the repository
  • Note model addition in HISTORY.rst
  • Add assertions to the whole-model test
  • Add a note to the User's Guide about when fractional populations may be a good idea and when they may not, but also that the model will not do any rounding on population inputs.
  • more individual tasks coming soon
@phargogh phargogh added the enhancement New feature or request label Nov 12, 2021
@phargogh phargogh self-assigned this Nov 12, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
The function provided is a first stab at resampling/reprojecting a
population raster by way of converting to a population density, then
reprojecting and converting back to a population count.  Correctness has
yet to be determined, but this way we should pretty reasonably be
preserving the population counts. RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
This adds the callthrough for the population raster resampling function
and also asserts that the outputs are reasonable for what we're trying
to do.  Initial results look like that at least in this basic test we're
getting numerically sensible results. RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
This adds a seeded randomization step to the population warping test,
just so I can be more confident that this function is doing what I
expect it to do with more reasonable data.  It does, which I'm happy to
see.

RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
This test doesn't have assertions yet, just the most basic inputs to
make sure the model can at least run.

RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 15, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 17, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 17, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 17, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 17, 2021
RE:natcap#722

Co-authored-by: Doug <dcdenu4@gmail.com>
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
Since I'm now aligning two rasters in a way that's more manual than
simply calling `pygeoprocessing.align_and_resize_raster_stack`, I've
added a few assertions to help me be confident that this is working as I
expect it to. RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
AssertIn has a much more sensible default error message which helps to
eliminate a debugging step on a failure: you can see the object printed
right there in the pytest output instead of needing to enter PDB to see
it.  RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
The decay function parameter is described as a non-user-facing parameter
that may need to be experimented with by the science teams.  I interpret
this as that it should therefore be exposed until further notice.
RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
This also adds a test for it, which didn't exist before.

Minor modifications for filennames and cache flushing have been added to
the utils function from the SG version. RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
This function is based on the stormwater implementation of the search
kernel.

RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Nov 18, 2021
The instantaneous decay function is now a blockwise function to avoid
the case where we have a large search radius and small pixels.  RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Jan 31, 2023
phargogh added a commit to phargogh/invest that referenced this issue Jan 31, 2023
phargogh added a commit to phargogh/invest that referenced this issue Jan 31, 2023
phargogh added a commit to phargogh/invest that referenced this issue Jan 31, 2023
phargogh added a commit to phargogh/invest that referenced this issue Jan 31, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 3, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 3, 2023
Also fixes a bug revealed by the test. RE:natcap#722
phargogh added a commit to phargogh/invest that referenced this issue Feb 3, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 3, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 7, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 7, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 8, 2023
@dcdenu4 and I decided that because the power function is incompletely
specified in the design document and it'll take a little work to
implement properly, and also because the core model parts are working
even without the power kernel.  The power kernel can, if needed, be
added in to the model later on, like in a bugfix release.

RE:natcap#722
@phargogh
Copy link
Member Author

phargogh commented Feb 20, 2023

We have a PR over on bitbucket (https://bitbucket.org/natcap/invest-sample-data/pull-requests/29) that includes the sample data. Once that's approved and merged, we need to be sure to include it in the updated release.

  • include the updated UNA sample data in the release.

phargogh added a commit to phargogh/invest that referenced this issue Feb 20, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 21, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 21, 2023
phargogh added a commit to phargogh/invest that referenced this issue Feb 27, 2023
phargogh added a commit to phargogh/invest that referenced this issue Mar 10, 2023
phargogh added a commit to phargogh/invest that referenced this issue Mar 15, 2023
phargogh added a commit to phargogh/invest that referenced this issue Mar 15, 2023
phargogh added a commit to phargogh/invest that referenced this issue Mar 15, 2023
phargogh added a commit to phargogh/invest that referenced this issue Mar 15, 2023
@phargogh
Copy link
Member Author

UNA has been merged. Although other issues exist, they are separate from the initial model release.

#1175 #1176 #1180

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request in progress This issue is actively being worked on
Projects
None yet
Development

No branches or pull requests

2 participants