A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Recent Releases of Integrated Valuation of Ecosystem Services and Tradeoffs

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.15.0

3.15.0 (2025-04-03)

Highlights

  • Multiple models now use per-hectare units in their raster outputs. Prior
    to this update, these rasters reported per-pixel values. This change
    affects the following models:

    • Carbon
    • Crop Production
    • Forest Carbon Edge Effect
    • NDR
    • SDR
  • NDR, SDR, and Seasonal Water Yield now support the D8 routing algorithm
    in addition to MFD.

  • Visitation: Recreation and Tourism model now includes Twitter data.

  • InVEST model outputs now include metadata. Open the '.yml' files
    in a text editor to read and add to the metadata.

General

Workbench

  • Auto-scrolling of log output is halted on user-initiated scrolling,
    enabling easier inspection of log output while a model is running
    (InVEST #1533 <https://github.com/natcap/invest/issues/1533>_).
  • Fixed a bug where toggle inputs would fail to respond if multiple tabs
    of the same model were open.
    https://github.com/natcap/invest/issues/1842

Annual Water Yield

  • Fixed an issue where the model would crash if the valuation table was
    provided, but the demand table was not. Validation will now warn about
    this, and the MODEL_SPEC has been improved to reflect that this table
    is now required when doing valuation.
    https://github.com/natcap/invest/issues/1769

Carbon

  • Updated styling of the HTML report generated by the carbon model, for
    visual consistency with the Workbench (InVEST #1732 <https://github.com/natcap/invest/issues/1732>_).
  • Raster outputs that previously contained per-pixel values (e.g., t/pixel)
    now contain per-hectare values (e.g., t/ha). (InVEST #1270 <https://github.com/natcap/invest/issues/1270>_).
  • Removed the REDD scenario and updated the naming of the Current and
    Future scenarios to Baseline and Alternate, respectively, to better
    indicate that users are not limited to comparing present and future.
    (InVEST #1758 <https://github.com/natcap/invest/issues/1758>_).
  • Changed output filename prefixes from tot_c to c_storage and
    delta to c_change. (InVEST #1825 <https://github.com/natcap/invest/issues/1825>_).
  • Fixed bug where discount rate and annual price change were incorrectly
    treated as ratios instead of percentages. (InVEST #1827 <https://github.com/natcap/invest/issues/1827>_).

Coastal Blue Carbon

  • The code column in the model's biophysical table input, as well as
    the code column in the preprocessor's LULC lookup table input and
    carbon_pool_transient_template output, have been renamed lucode,
    for consistency with other InVEST models (InVEST #1249 <https://github.com/natcap/invest/issues/1249>_).

Crop Production

  • Raster outputs that previously contained per-pixel values (e.g., t/pixel)
    now contain per-hectare values (e.g., t/ha). This change affects both
    the Percentile and Regression models (InVEST #1270 <https://github.com/natcap/invest/issues/1270>_).

Forest Carbon Edge Effect

  • Raster outputs that previously contained per-pixel values (e.g., t/pixel)
    now contain per-hectare values (e.g., t/ha). (InVEST #1270 <https://github.com/natcap/invest/issues/1270>_).

Habitat Quality

  • The lulc column in the sensitivity table input, and the lulc_code
    column in the rarity table outputs, have been renamed lucode, for
    consistency with other InVEST models (InVEST #1249 <https://github.com/natcap/invest/issues/1249>_).
  • The model now expects the maximum threat distance (max_dist in the
    threats table) to be specified in m instead of km (InVEST #1252 <https://github.com/natcap/invest/issues/1252>_).
  • Adjusted total habitat degradation calculation to calculate degradation
    for each threat and create intermediate degradation rasters. Total
    degradation is now calculated using these individual threat degradation
    rasters.
    https://github.com/natcap/invest/issues/1100

NDR

  • Align rasters to the grid of the DEM raster
    (#1488 <https://github.com/natcap/invest/issues/1488>_).
  • Raster outputs that previously contained per-pixel values (e.g., kg/pixel)
    now contain per-hectare values (e.g., kg/ha). (InVEST #1270 <https://github.com/natcap/invest/issues/1270>_).
  • Made the runoff proxy index calculation more robust by allowing users to
    specify the average runoff proxy, preventing normalization issues across
    different climate scenarios and watershed selections.
    https://github.com/natcap/invest/issues/1741
  • D8 routing is now supported in addition to MFD
    (#1440 <https://github.com/natcap/invest/issues/1440>_).

Scenario Generator

  • Updated the output CSV columns: Renamed lucode column original lucode
    to clarify that it contains the original, to-be-converted, value(s). Added
    replacement lucode column, containing the LULC code to which habitat was
    converted during the model run.
    https://github.com/natcap/invest/issues/1295

Scenic Quality

  • Fixed a bug where the visibility raster could be incorrectly set to 1
    ('visible') if the DEM value was within floating point imprecision of the
    DEM nodata value (#1859 <https://github.com/natcap/invest/issues/1859>_).

SDR

  • Raster outputs that previously contained per-pixel values (e.g., t/pixel)
    now contain per-hectare values (e.g., t/ha). (InVEST #1270 <https://github.com/natcap/invest/issues/1270>_).
  • D8 routing is now supported in addition to MFD
    (#1440 <https://github.com/natcap/invest/issues/1440>_).

Seasonal Water Yield

  • D8 routing is now supported in addition to MFD
    (#1440 <https://github.com/natcap/invest/issues/1440>_).

Urban Cooling

  • Align rasters to the grid of the LULC raster, rather than the ET0 raster
    (#1488 <https://github.com/natcap/invest/issues/1488>_).
  • Updated the documentation for the mean_t_air attribute of the
    buildings_with_stats.shp output to clarify how the value is
    calculated. https://github.com/natcap/invest/issues/1746
  • Fixed bug in the calculation of Cooling Capacity (CC) provided by parks,
    where the CC Index was not being properly incorporated.
    https://github.com/natcap/invest/issues/1726

Urban Stormwater Retention

  • Fixed a bug causing inf values in volume outputs because nodata
    values were not being set correctly (InVEST #1850 <https://github.com/natcap/invest/issues/1850>_).

Visitation: Recreation and Tourism

  • Added a database of geotagged tweets to support calculating
    twitter-user-days (TUD) as proxy for visitation rates. The model now calculates
    photo-user-days (PUD) and TUD and uses their average as the response
    variable in the regression model. Please refer to the User's Guide for
    more details on the regression model.
  • Output data were updated to support the new TUD results, and vector outputs
    are now in GeoPackage format instead of ESRI Shapefile.
  • Regression coefficients are still listed in a summary text file, and are now
    also included in a tabular output: "regression_coefficients.csv".

Wind Energy

  • Fixed a bug that could cause the Workbench to crash when running the Wind
    Energy model with Taskgraph logging set to DEBUG (InVEST #1497 <https://github.com/natcap/invest/issues/1497>_).

Sustainable Development - Sustainable Investment - Python
Published by davemfish 24 days ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.14.3

3.14.3 (2024-12-19)

Sustainable Development - Sustainable Investment - Python
Published by phargogh 4 months ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.14.2

This release includes the following fixes and features:

  • General
    • Validation now covers file paths contained in CSVs. CSV validation
      will fail if the files listed in a CSV fail to validate.
      https://github.com/natcap/invest/issues/327

    • We have updated validation in several ways that will improve the
      developer experience of working with InVEST models, and we hope will also
      improve the user experience:

      • Symbols in conditional requirement expressions now represent the values
        of parameters instead of whether the value of the parameter is
        sufficient. If a symbol is not present in args as a key, the
        symbol will have a value of False. This allows for value-based
        comparisons, which is useful in models that have overlapping modes of
        operation. https://github.com/natcap/invest/issues/1509
      • Vector fields, CSV rows/columns and the 1st level of directory
        contents may now all be conditionally required based on a python
        expression.
      • Under certain circumstances, validation may return more warnings than
        before. This specifically applies to model inputs that have conditional
        requirement expressions where their expression evaluates to False,
        and the user has provided a value for this parameter. Previous
        versions of InVEST would skip these parameters' type-specific
        validation. Now, these parameters will be validated with their
        type-specific validation checks.
    • Add support for latest GDAL versions; remove test-specific constraint on
      GDAL versions from invest requirements.
      https://github.com/natcap/invest/issues/916

    • Updated to Cython 3 (https://github.com/natcap/invest/issues/556)

  • Annual Water Yield
  • Coastal Blue Carbon
    • Updated model validation to prevent the case where a user provides only
      one snapshot year and no analysis year
      (#1534 <https://github.com/natcap/invest/issues/1534>_).
      Also enforces that the analysis year, if provided, is greater than the
      latest snapshot year. An analysis year equal to the latest snapshot year
      is no longer allowed.
  • Coastal Vulnerability
  • HRA
    • Fixed a bug where habitat and stressor vectors were not being rasterized
      with the ALL_TOUCHED=TRUE setting.
  • Scenic Quality
    • Fixed an issue with viewshed calculations where some slight numerical
      error was introduced on M1 Macs, but not on x86-based computers. This
      numerical error was leading to slightly different visibility results.
      https://github.com/natcap/invest/issues/1562
  • SDR
    • Fixed an issue encountered in the sediment deposition function where
      rasters with more than 2^32 pixels would raise a cryptic error relating
      to negative dimensions. https://github.com/natcap/invest/issues/1431
    • Optimized the creation of the summary vector by minimizing the number of
      times the target vector needs to be rasterized.
  • Seasonal Water Yield
  • Wind Energy
    • Fixed a bug where some number inputs were not being properly cast to
      float or int types. If the inputs happened to be passed as
      a str this caused unintended side effects such as a concatenation
      error. (https://github.com/natcap/invest/issues/1498)
  • Urban Nature Access
    • Fixed a NameError that occurred when running the model using
      search radii defined per population group with an exponential search
      kernel. https://github.com/natcap/invest/issues/1502
    • Fixed an issue where Urban Nature Access would crash if an administrative
      boundary geometry did not overlap any people in the population raster.
      https://github.com/natcap/invest/issues/1503
    • Fixed an issue where validation was failing to catch missing values in
      the uniform search radius args key when using uniform search radii.
      https://github.com/natcap/invest/issues/1509
    • Fixed an issue where the output administrative units vector's
      Pund_adm and Povr_adm fields representing undersupplied and
      oversupplied populations, respectively, had values of 0 when running the
      model with search radii defined per population group. The output
      administrative units vector now has the correct values for these fields,
      consistent with the user's guide chapter.
      https://github.com/natcap/invest/issues/1512
    • Fixed an issue where certain nodata values were not being handled
      correctly, leading to pixel values of +/- infinity in the urban nature
      balance output raster. https://github.com/natcap/invest/issues/1519
    • Fixed an issue where an LULC raster without a nodata value would
      always raise in exception during reclassification.
      https://github.com/natcap/invest/issues/1539

Sustainable Development - Sustainable Investment - Python
Published by natcap-bot 11 months ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.14.1

3.14.1 (2023-12-15)

Sustainable Development - Sustainable Investment - Python
Published by davemfish over 1 year ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.14.0

This release includes the following fixes and features:

  • General
    • Fixed a bug in the CLI where invest getspec --json failed on
      non-json-serializable objects such as pint.Unit.
      https://github.com/natcap/invest/issues/1280
    • A new directory at ./doc/decision-records has been created for
      "Architecture/Any Decision Records", which will serve as a record of
      nontrivial decisions that were made to InVEST and why. This is
      intended for reference by our science and software teams, and also by
      the community at large when inquiring about a nontrivial change.
      https://github.com/natcap/invest/issues/1079
    • Updated the package installation instructions in the API docs for clarity
      and also to highlight the ease of installation through conda-forge.
      https://github.com/natcap/invest/issues/1256
    • utils.build_lookup_from_csv has been deprecated and its functionality
      has been merged into utils.read_csv_to_dataframe
      (#1319 <https://github.com/natcap/invest/issues/1319>),
      (#1327 <https://github.com/natcap/invest/issues/1327>
      )
    • Standardized on keeping the execute and validate functions
      orthogonal. Now no models call validate from execute. This
      affected AWY, CV, UFRM, Wave Energy, and Wind Energy.
      (#1373 <https://github.com/natcap/invest/issues/1373>_)
    • Improved the validation message that is returned when not all spatial
      inputs overlap (#502 <https://github.com/natcap/invest/issues/502>_)
    • Standardized the name and location of the taskgraph cache directory for
      all models. It is now called taskgraph_cache and located in the top
      level of the workspace directory.
      (#1230 <https://github.com/natcap/invest/issues/1230>_)
    • InVEST is now distributed under the Apache 2.0 License.
  • Workbench
    • Fixed a bug where sampledata downloads failed silently (and progress bar
      became innacurate) if the Workbench did not have write permission to
      the download location. https://github.com/natcap/invest/issues/1070
    • The workbench app is now distributed with a valid code signature
      (#727 <https://github.com/natcap/invest/issues/727>_)
    • Changing the language setting will now cause the app to relaunch
      (#1168 <https://github.com/natcap/invest/issues/1168>_)
    • Closing the main window will now close any user's guide windows that are
      open. Fixed a bug where the app could not be reopened after closing.
      (#1258 <https://github.com/natcap/invest/issues/1258>_)
    • Fixed a bug where invalid metadata for a recent run would result
      in an uncaught exception.
      (#1286 <https://github.com/natcap/invest/issues/1286>_)
    • Middle clicking an InVEST model tab was opening a blank window. Now
      middle clicking will close that tab as expected.
      (#1261 <https://github.com/natcap/invest/issues/1261>_)
    • Updated InVEST logo to use new version with registered trademark symbol.
      (InVEST TM and Logo Use Policy <https://naturalcapitalproject.stanford.edu/invest-trademark-and-logo-use-policy>_)
    • InVEST is licensed using a permissive open source license. But we have
      decided to add back the license and agreement step to the installer to
      be upfront and explicit about how InVEST is licensed.
  • Coastal Blue Carbon
    • Added validation for the transition table, raising a validation error if
      unexpected values are encountered.
      (#729 <https://github.com/natcap/invest/issues/729>_)
  • Forest Carbon
    • The biophysical table is now case-insensitive.
  • HRA
    • Fixed a bug in HRA where the model would error when all exposure and
      consequence criteria were skipped for a single habitat. The model now
      correctly handles this case. https://github.com/natcap/invest/issues/1250
    • Tables in the .xls format are no longer supported. This format was
      deprecated by pandas.
      (#1271 <https://github.com/natcap/invest/issues/1271>_)
    • Fixed a bug where vector inputs could be rasterized onto a grid that is
      not exactly aligned with other raster inputs.
      (#1312 <https://github.com/natcap/invest/issues/1312>_)
    • Dropped support for Excel (.xlsx) files
      (#1391 <https://github.com/natcap/invest/issues/1391>_)
  • NDR
    • The contents of the output cache_dir have been consolidated into
      intermediate_outputs.
    • Fixed a bug where results were calculated incorrectly if the runoff proxy
      raster (or the DEM or LULC) had no nodata value
      (#1005 <https://github.com/natcap/invest/issues/1005>_)
  • Pollination
  • RouteDEM
    • RouteDEM now allows the user to calculate Strahler Stream Orders, which
      will be written to a new vector in the user's workspace. This stream
      order vector is dependent on the user's Threshold Flow Accumulation value
      and is only available for the D8 routing model.
      https://github.com/natcap/invest/issues/884
    • RouteDEM now allows the user to create a vector of subwatersheds, which
      are written to a new vector in the user's workspace. This vector is
      dependent on the calculation of Strahler Stream Orders and is only
      available for the D8 routing model. https://github.com/natcap/invest/issues/349
  • Scenic Quality
  • SDR
    • Fixed an issue with sediment deposition progress logging that was
      causing the "percent complete" indicator to not progress linearly.
      https://github.com/natcap/invest/issues/1262
    • The contents of the output churn_dir_not_for_humans have been
      consolidated into intermediate_outputs.
    • We implemented two major functional changes to the InVEST LS Factor
      that significantly affect most outputs of SDR and will bring the LS
      factor output more in line with the outputs of SAGA-GIS's LS Factor.
      A discussion of differences between these two implementations can be
      viewed at https://github.com/natcap/invest/tree/main/doc/decision-records/ADR-0001-Update-SDR-LS-Factor.md.
      The two specific changes implemented are:

Sustainable Development - Sustainable Investment - Python
Published by emlys over 1 year ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.13.0

3.13.0 (2023-03-17)

  • General
  • Workbench
  • DelineateIt
  • Habitat Quality
    • The model now uses an euclidean distance implementation for decaying
      threat rasters both linearly and exponentially. Since InVEST 3.3.0 a
      convolution implementation has been used, which reflected how
      the density of a threat or surrounding threat pixels could have an
      even greater, cumulative impact and degradation over space. However, this
      was never properly documented in the User's Guide and is not the approach
      taken in the publication. The convolution implementation also produced
      degradation and quality outputs that were difficult to interpret.
    • There should be a noticeable runtime improvement from calculating
      euclidean distances vs convolutions.
  • HRA
    • Fixed an issue where a cryptic exception was being thrown if the criteria
      table's sections were not spelled exactly as expected. There is now a
      much more readable error if a section is obviously missing. Leading and
      trailing whitespace is also now removed from all string fields in the
      criteria table, which should also help reduce the chance of errors.
      https://github.com/natcap/invest/issues/1191
  • GLOBIO
  • RouteDEM
  • Scenic Quality
  • SDR
  • Seasonal Water Yield
  • Urban Nature Access
    • Added the Urban Nature Access model to InVEST. The model for urban
      nature access provides a measure of both the supply of urban nature
      and the demand for nature by the urban population, ultimately
      calculating the balance between supply and demand. See the corresponding
      User's Guide chapter for documentation.
  • Visitation: Recreation and Tourism

Sustainable Development - Sustainable Investment - Python
Published by phargogh about 2 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.12.1

This bugfix release includes the following fixes and features:

  • General

  • Workbench

    • Fixed a bug where the Workbench would become unresponsive during
      an InVEST model run if the model emitted a very high volume of
      log messages.
    • Fixed a bug where the Workbench could crash if there was too
      much standard error emitted from an invest model.
    • Added a new "Save as" dialog window to handle different save
      options, and allow the option to use relative paths in a JSON
      datastack
      (#1088)
    • Fixed a bug where uncaught exceptions in the React tree would
      result in a blank browser window.
      (#1119)
  • Habitat Quality

    • All spatial inputs including the access vector and threat
      rasters are now reprojected to the lulc_cur_path raster. This
      fixes a bug where rasters with a different SRS would appear to
      not intersect the lulc_cur_path even if they did.
      (https://github.com/natcap/invest/issues/1093)
    • Paths in the threats table may now be either absolute or
      relative to the threats table.
  • HRA

    • Fixed a regression relative to InVEST 3.9.0 outputs where
      spatial criteria vectors were being rasterized with the
      ALL_TOUCHED=TRUE flag, leading to a perceived buffering of
      spatial criteria in certain cases. In InVEST 3.9.0, these were
      rasterized with ALL_TOUCHED=FALSE.
      https://github.com/natcap/invest/issues/1120
    • Fixed an issue with the results table, SUMMARY_STATISTICS.csv
      where the percentages of high, medium and low risk
      classifications were not correctly reported.
    • Added a column to the SUMMARY_STATISTICS.csv output table to
      also report the percentage of pixels within each subregion that
      have no risk classification (a risk classification of 0).
  • Urban Stormwater Retention

    • Added validation to check that the input soil groups raster has
      an integer data type
  • Urban Cooling

    • Updated the text for the building_intensity column in the
      biophysical table to clarify that the values of this column
      should be normalized relative to one another to be between 0
      and 1.

Sustainable Development - Sustainable Investment - Python
Published by emlys over 2 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.12.0

This minor release includes the following fixes and features:

  • General

    • Update python packaging settings to exclude a few config files
      and the workbench from source distributions and wheels
    • Updating SDR test values due to an update in GDAL's mode
      resampling algorithm. See
      https://github.com/natcap/invest/issues/905
    • Updated our scipy requirement to fix a bug where invest
      crashed if a Windows user had a non-Latin character in their
      Windows username.
  • Workbench

    • Fixed a bug where some model runs would not generate a new item
      in the list of recent runs.
    • Enhanced model input forms so that text boxes always show the
      rightmost end of the filepath when they overflow the box.
  • Coastal Blue Carbon

    • Fixed a bug where using unaligned rasters in the preprocessor
      would cause an error. The preprocessor will now correctly align
      input landcover rasters and determine transitions from the
      aligned rasters.
  • Habitat Quality

    • Removed a warning about an undefined nodata value in threat
      rasters because it is okay for a threat raster to have an
      undefined nodata value.
  • HRA

    • Fixed an issue with risk calculations where risk values would be
      much lower than they should be. Risk values are now correctly
      calculated.
    • Fixed an issue with risk reclassifications where most pixels
      would end up classified as medium risk.
    • Added an input field to the model to indicate the number of
      overlapping stressors to use in risk reclassification
      calculations. This input affects the numerical boundaries
      between high, medium and low risk classifications.
    • Various improvements to the model have resulted in a modest
      (~33%) speedup in runtime.
  • Coastal Vulnerability

    • Fixed a bug where redundant vertices in the landmass polygon
      could raise an error during shore point creation.
  • NDR

    • Added parameters to the sample data to support nitrogen
      calculations.
    • Effective retention calculations have been reworked so that the
      source code more closely matches the mathematical definition in
      the NDR User's Guide. There should be no difference in outputs.
  • SDR

    • We have made a significant update to the SDR model's outputs
      described here:
      https://github.com/natcap/peps/blob/main/pep-0010.md.
    • Specific changes include:
      • Legacy outputs sed_retention_index.tif and sed_retention.tif
        have been removed from the model.
      • Two new output rasters have been added, specifically
        • avoided_export.tif, indicating vegetation's contribution to
          reducing erosion on a pixel, as well as trapping of sediment
          originating upslope of the pixel, so that neither of these proceed
          downslope to enter a stream.
        • avoided_erosion.tif, vegetation’s contribution to reducing
          erosion from a pixel.
      • The summary watersheds vector no longer includes the sed_retent
        field and two fields have been added:
        • avoid_exp representing the sum of avoided export in the watershed.
        • avoid_eros representing the sum of avoided erosion in the watershed.
      • Sediment deposition, sed_deposition.tif, has been clarified to
        indicate the sediment that erodes from a pixel goes into the next
        downstream pixel(s) where it is either trapped or exported. This update
        removes a form of double-counting.
  • Urban Flood Risk

    • Validation of the curve number table will now catch missing CN_*
      columns and warn the user about the missing column.

Sustainable Development - Sustainable Investment - Python
Published by phargogh over 2 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.11.0

This minor release includes the following fixes and features:

  • General

    • InVEST Workbench released! A new desktop interface for InVEST
      models.
    • Add support for python 3.10, and drop support for python 3.7.
    • Fixed a bug where the model window would fail to open when using
      the natcap.invest package with python 3.9.0 - 3.9.3.
    • spec_utils.ETO has been renamed to spec_utils.ET0 (with a
      zero).
    • Updating the pyinstaller requirement to >=4.10 to support
      the new universal2 wheel architecture offered by
      scipy>=1.8.0.
    • Now removing leading / trailing whitespaces from table input
      values as well as columns in most InVEST models.
    • Fixing a small bug where drag-and-drop events in the Qt UI were
      not being handled correctly and were being ignored by the UI.
    • Expose taskgraph logging level for the cli with
      --taskgraph-log-level.
    • Fixed bug in validation of results_suffix so that special
      characters like path separators, etc, are not allowed.
    • Fixed a bug in validation where a warning about non-overlapping
      spatial layers was missing info about the offending bounding
      boxes.
  • Annual Water Yield

    • Fixed a bug where the model would error when the
      watersheds/subwatersheds input was in geopackage format.
  • Crop Production

    • Fixed a bug in both crop production models where the model would
      error if an observed yield raster had no nodata value.
  • DelineateIt

    • Watersheds delineated with this tool will now always have a
      ws_id column containing integer watershed IDs for easier use
      within the routed InVEST models. Existing ws_id field values
      in the outlets vector will be overwritten if they are present.
  • RouteDEM

    • Rename the arg calculate_downstream_distance to
      calculate_downslope_distance. This is meant to clarify that it
      applies to pixels that are not part of a stream.
  • SDR

    • Fixed an issue with SDR where f.tif might not be recalculated
      if the file is modified or deleted after execution.
    • Fixed an issue in sed_deposition.tif and f.tif where pixel
      values could have very small, negative values for r_i and
      f_i. These values are now clamped to 0.
    • Added basic type-checking for the lucode column of the
      biophysical table. This avoids cryptic numpy errors later in
      runtime.
  • Seasonal Water Yield

    • Added an output to the model representing total annual
      precipitation.
    • Fixed an issue with the documentation for ET0 and Precip
      directories, where a module-specific informational string was
      being overridden by a default value.

Sustainable Development - Sustainable Investment - Python
Published by davemfish almost 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.10.2

  • General
    • The minimum setuptools_scm version has been increased to 6.4.0 in
      order to bypass calling setup.py for version information. The
      version of this project can now be retrieved by calling python -m setuptools_scm from the project root.
    • Fixed an issue where datastack archives would not include any spatial
      datasets that were linked to in CSV files. This now works for all models
      except HRA. If an HRA datastack archive is requested,
      NotImplementedError will be raised. A fix for HRA is pending.
    • Pinned numpy versions in pyproject.toml to the lowest compatible
      version for each supported python version. This prevents issues when
      natcap.invest is used in an environment with a lower numpy version
      than it was built with (https://github.com/cython/cython/issues/4452).
  • DelineateIt
    • When snapping points to streams, if a point is equally near to more than
      one stream pixel, it will now snap to the stream pixel with a higher
      flow accumulation value. Before, it would snap to the stream pixel
      encountered first in the raster (though this was not guaranteed).
  • HRA
    • Fixed a bug with how a pandas dataframe was instantiated. This bug did
      not effect outputs though some might notice less trailing zeros in the
      SUMMARY_STATISTICS.csv output.
  • NDR
    • Changed some model inputs and outputs to clarify that subsurface
      phosphorus is not modeled.
      • Removed the inputs subsurface_critical_length_p and
        subsurface_eff_p
      • Removed the output sub_ndr_p.tif. The model no longer calculates
        subsurface NDR for phosphorus.
      • Removed the output sub_load_p.tif. All pixels in this raster were
        always 0, because the model assumed no subsurface phosphorus movement.
      • Renamed the output p_export.tif to p_surface_export.tif to
        clarify that it only models the surface export of phosphorus.
      • Renamed the output n_export.tif to n_total_export.tif to
        clarify that it is the total of surface and subsurface nitrogen export.
      • Added the new outputs n_surface_export.tif and
        n_subsurface_export.tif, showing the surface and subsurface
        components of the total nitrogen export.
      • The aggregate vector output watershed_results_ndr.shp was changed to
        a geopackage watershed_results_ndr.gpkg.
      • The aggregate vector fields were given more descriptive names, and
        updated corresponding to the changed raster outputs:
        • surf_p_ld was renamed to p_surface_load
        • surf_n_ld was renamed to n_surface_load
        • p_exp_tot was renamed to p_surface_export
        • sub_n_ld was renamed to n_subsurface_load
        • n_exp_tot was renamed to n_total_export
        • Added a new field n_surface_export, representing the sum of
          n_surface_export.tif
        • Added a new field n_subsurface_export, representing the sum
          of n_subsurface_export.tif
        • Removed the field sub_p_ld, since sub_load_p.tif was removed.
  • Wind Energy
    • Fixed a bug where distance was masking by pixel distance instead of
      euclidean distance.
    • Renamed the foundation cost label and help info to reflect it is no
      longer measured in Millions of US dollars.
    • Fixed a bug where running valuation with TaskGraph in asynchronous mode
      would cause the model to error.

Sustainable Development - Sustainable Investment - Python
Published by emlys about 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.10.1

This bugfix release includes the following fixes and features:

  • Urban Stormwater Retention
    • Fixed a bug where this model's sample data was not available via the Windows installer.

Sustainable Development - Sustainable Investment - Python
Published by davemfish over 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.10.0

This minor release includes the following fixes and features:

  • General

    • Add a --language argument to the command-line interface, which
      will translate model names, specs, and validation messages.
    • Accept a language query parameter at the UI server endpoints,
      which will translate model names, specs, and validation
      messages.
    • Added invest serve entry-point to the CLI. This launches a
      Flask app and server on the localhost, to support the workbench.
    • Major updates to each model's ARGS_SPEC (and some related
      validation) to facilitate re-use & display in the Workbench and
      User's Guide.
    • Standardized and de-duplicated text in ARGS_SPEC about and
      name strings.
    • Update to FontAwesome 5 icons in the QT interface.
    • In response to the deprecation of setup.py-based commands in
      Python 3.10, the recommended way to build python distributions
      of natcap.invest is now with the build package, and
      installation should be done via pip. The README has been
      updated to reflect this change, and this should only be
      noticeable for those installing natcap.invest from source.
    • A bug has been fixed in make install so that now the current
      version of natcap.invest is built and installed. The former
      (buggy) version of make install would install whatever the
      latest version was in your dist folder.
    • Updating the taskgraph requirement to 0.11.0 to resolve an
      issue where modifying a file within a roughly 2-second window
      would fool taskgraph into believing that the file had not been
      modified.
    • Fixed a bug where some input rasters with NaN nodata values
      would go undetected as nodata and yield unexpected behavior.
  • Annual Water Yield

    • Renamed the Windows start menu shortcut from "Water Yield" to
      "Annual Water Yield".
  • Coastal Vulnerability

    • Fixed bug where shore points were created on interior landmass
      holes (i.e. lakes).
    • Added feature to accept raster (in addition to vector) habitat
      layers.
    • Changed one intermediate output (geomorphology) from SHP to
      GPKG.
    • Fixed bug where output vectors had coordinates with an
      unnecessary z-dimension. Output vectors now have 2D geometry.
  • Crop Pollination

    • Renamed the Windows start menu shortcut from "Pollination" to
      "Crop Pollination".
  • Fisheries and Fisheries HST

    • The Fisheries models were deprecated due to lack of use, lack of
      scientific support staff, and maintenance costs.
  • Finfish

    • The Finfish model was deprecated due to lack of use, lack of
      scientific support staff, and maintenance costs.
  • Habitat Quality

    • Changed how Habitat Rarity outputs are calculated to be less
      confusing. Values now represent a 0 to 1 index where before
      there could be negative values. Now values of 0 indicate
      current/future LULC not represented in baseline LULC; values 0
      to 0.5 indicate more abundance in current/future LULC and
      therefore less rarity; values of 0.5 indicate same abundance
      between baseline and current/future LULC; values 0.5 to 1
      indicate less abundance in current/future LULC and therefore
      higher rarity.
  • NDR

    • Added a new raster to the model's workspace,
      intermediate_outputs/what_drains_to_stream[suffix].tif. This
      raster has pixel values of 1 where DEM pixels flow to an
      identified stream, and 0 where they do not.
  • Scenario Generator

    • Changed an args key from replacment_lucode to
      replacement_lucode.
  • Scenic Quality

    • Simplify the valuation_function arg options. The options are
      now: linear, logarithmic, exponential. The names displayed
      in the UI dropdown will stay the same as before. Datastacks or
      scripts will need to be updated to use the new option values.
    • Renamed the model title from "Unobstructed Views: Scenic Quality
      Provision" to "Scenic Quality".
  • SDR

    • Added a new raster to the model's workspace,
      intermediate_outputs/what_drains_to_stream[suffix].tif. This
      raster has pixel values of 1 where DEM pixels flow to an
      identified stream, and 0 where they do not.
  • Urban Flood Risk:

    • Fixed broken documentation link in the user interface.
  • Urban Stormwater Retention:

    • First release of this model.
  • Visitation: Recreation and Tourism

    • Renamed the Windows start menu shortcut from "Recreation" to
      "Visitation: Recreation and Tourism".
  • Wave Energy

    • Rename the analysis_area_path arg to analysis_area, since it
      is not a path but an option string.
    • Simplify the analysis_area arg options. The options are now:
      westcoast, eastcoast, northsea4, northsea10,
      australia, global. The names displayed in the UI dropdown
      will stay the same as before. Datastacks and scripts will need
      to be updated to use the new option values.
  • Wind Energy

    • No model inputs or outputs are measured in "millions of"
      currency units any more. Specifically:
    • The mw_coef_ac and mw_coef_dc values in the Global Wind
      Energy Parameters table were in millions of currency units per
      MW; now they should be provided in currency units per MW.
    • The infield_cable_cost, cable_coef_ac, and cable_coef_dc
      values in the Global Wind Energy Parameters table were in
      millions of currency units per km; now they should be provided
      in currency units per km.
    • The turbine_cost value in the Turbine Parameters table was in
      millions of currency units; now it should be provided in
      currency units.
    • The foundation_cost parameter was in millions of currency
      units; now it should be provided in currency units.
    • The NPV output, formerly npv_US_millions.tif, is now
      npv.tif. It is now in currency units, not millions of currency
      units.

Sustainable Development - Sustainable Investment - Python
Published by davemfish over 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.9.2

3.9.2

This bugfix release includes the following fixes and features:

  • General:

    • Improving our binary build by including a data file needed for
      the charset-normalizer python package. This eliminates a
      warning that was printed to stdout on Windows.
    • The Annual Water Yield model name is now standardized throughout
      InVEST. This model has been known in different contexts as
      Hydropower, Hydropower Water Yield, or Annual Water Yield. This
      name was chosen to emphasize that the model can be used for
      purposes other than hydropower (though the valuation component
      is hydropower-specific) and to highlight its difference from the
      Seasonal Water Yield model. The corresponding python module,
      formerly natcap.invest.hydropower.hydropower_water_yield, is
      now natcap.invest.annual_water_yield.
    • Minor changes to some other models' display names.
    • Update and expand on the instructions in the API docs for
      installing the natcap.invest package.
    • The InVEST binaries on Windows now no longer inspect the
      %PATH% when looking for GDAL DLLs. This fixes an issue where
      InVEST would not launch on computers where the %PATH% either
      contained other environment variables or was malformed.
    • JSON sample data parameter sets are now included in the complete
      sample data archives.
  • Seasonal Water Yield

    • Fixed a bug in validation where providing the monthly alpha
      table would cause a "Spatial file <monthly alpha table>
      has no projection" error. The montly alpha table was mistakenly
      being validated as a spatial file.
  • Crop Production Regression

    • Corrected a misspelled column name. The fertilization rate table
      column must now be named phosphorus_rate, not
      phosphorous_rate.
  • Habitat Quality

    • Fixed a bug where optional input Allow Accessibility to Threats
      could not be passed as an empty string argument. Now handles
      falsey values.
  • Urban Flood Risk

    • Fixed a bug where lucodes present in the LULC raster but missing
      from the biophysical table would either raise a cryptic
      IndexError or silently apply invalid curve numbers. Now a
      helpful ValueError is raised.

Sustainable Development - Sustainable Investment - Python
Published by dcdenu4 over 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.9.1

This bugfix release includes the following fixes and features:

  • General:

    • Added error-handling for when pandas fails to decode a
      non-utf8 encoded CSV.
    • Moved the sample data JSON files out of the root sample_data
      folder and into their respective model folders.
    • Updated documentation on installing InVEST from source.
    • Restructured API reference docs and removed outdated and
      redundant pages.
    • Include logger name in the logging format. This is helpful for
      the cython modules, which can't log module, function, or line
      number info.
    • Fixed a bug in makefile that prevented make env from working
      properly.
    • Fixed an issue with the InVEST application launching on Mac OS X
      11 "Big Sur". When launching the InVEST .app bundle, the
      environment variable QT_MAC_WANTS_LAYER is defined. If running
      InVEST through python, this environment variable may need to be
      defined by hand like so:
      QT_MAC_WANTS_LAYER=1 python -m natcap.invest. A warning will
      be raised if this environment variable is not present on mac.
    • Fixing an issue on Mac OS X where saving the InVEST application
      to a filepath containing spaces would prevent the application
      from launching.
    • Fixed an issue on Mac OS when certain models would loop
      indefinitely and never complete. This was addressed by bumping
      the taskgraph requirement version to 0.10.3
    • Allow Windows users to install for all users or current user.
      This allows non-admin users to install InVEST locally.
    • Fixed a bug where saving a datastack parameter set with relative
      paths would not convert Windows separators to linux style.
    • Provide a better validation error message when an overview
      '.ovr' file is input instead of a valid raster.
    • Removed internal references to TaskGraph
      copy_duplicate_artifact calls in anticipation from that
      feature being removed from TaskGraph. User facing changes
      include slightly faster initial runtimes for the Coastal
      Vulnerability, Coastal Blue Carbon, SDR, DelineateIt, and
      Seasonal Water Yield models. These models will no longer attempt
      to copy intermediate artifacts that could have been computed by
      previous runs.
    • Validation now returns a more helpful message when a spatial
      input has no projection defined.
    • Updated to pygeoprocessing 2.3.2
    • Added support for GDAL 3.3.1 and above
    • Added some logging to natcap.invest.utils._log_gdal_errors to
      aid in debugging some hard-to-reproduce GDAL logging errors that
      occasionally cause InVEST models to crash. If GDAL calls
      _log_gdal_errors with an incorrect set of arguments, this is
      now logged.
  • Carbon

    • Fixed a bug where, if rate change and discount rate were set to
      0, the valuation results were in $/year rather than $, too small
      by a factor of lulc_fut_year - lulc_cur_year.
    • Improved UI to indicate that Calendar Year inputs are only
      required for valuation, not also for sequestration.
    • Increasing the precision of numpy.sum from Float32 to Float64
      when aggregating raster values for the HTML report.
  • DelineateIt:

    • The DelineateIt UI has been updated so that the point-snapping
      options will always be interactive.
    • DelineateIt's point-snapping routine has been updated to snap
      MULTIPOINT geometries with 1 component point as well as
      primitive POINT geometries. All other geometric types will not
      be snapped. When a geometry cannot be snapped, a log message is
      now recorded with the feature ID, the geometry type and the
      number of component geometries. Features with empty geometries
      are now also skipped.
  • Fisheries Habitat Scenario Tool

    • Fixed divide-by-zero bug that was causing a RuntimeWarning in
      the logs. This bug did not affect the output.
  • HRA

    • Fixed bugs that allowed zeros in DQ & Weight columns of criteria
      table to raise DivideByZero errors.
  • NDR

    • Fixed a bug that allowed SDR to be calculated in areas that
      don't drain to any stream. Now all outputs that depend on
      distance to stream ( d_dn, dist_to_channel, ic, ndr_n,
      ndr_p, sub_ndr_n, sub_ndr_p, n_export, p_export) are
      only defined for pixels that drain to a stream. They have nodata
      everywhere else.
  • Pollination

    • Updated so that the total_pollinator_abundance_[season].tif
      outputs are always created. Before, they weren't created if a
      farm vector was not supplied, even though they are independent.
  • Recreation

    • Fixed some incorrectly formatted log and error messages
  • Seasonal Water Yield

    • Fixed a bug where qf.tif outputs weren't properly masking
      nodata values and could show negative numbers.
  • SDR

    • Fixed a bug in validation that did not warn against different
      coordinate systems (all SDR inputs must share a common
      coordinate system).
    • Fixed a bug that was incorrectly using a factor of 0.0986 rather
      than 0.0896. This would have a minor effect on end-user results.
    • Changed how SDR thresholds its L factor to allow direct
      thresholding rather than based off of upstream area. Exposed
      this parameter as l_max in the args input and in the user
      interface.
    • Fixed a bug that allowed SDR to be calculated in areas that
      don't drain to any stream. Now all outputs that depend on
      distance to stream ( d_dn, d_dn_bare, ic, ic_bare,
      sdr, sdr_bare, e_prime, sed_retention,
      sed_retention_index, sed_deposition, sed_export) are only
      defined for pixels that drain to a stream. They have nodata
      everywhere else.
  • Urban Flood Risk

    • Fixed a bug where a String Type column in the infrastructure
      vector would cause the aggregation step of the model to crash,
      even with the correct integer value in the column.
  • Wind Energy

    • Raising ValueError when AOI does not intersect Wind Data points.

Sustainable Development - Sustainable Investment - Python
Published by emlys over 3 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - InVEST 3.9.0

3.9.0

This minor release includes the following fixes and features:

  • General

    • Deprecating GDAL 2 and adding support for GDAL 3.

    • Adding function in utils.py to handle InVEST coordindate
      transformations.

    • Making InVEST compatible with Pygeoprocessing 2.0 by updating:

      • convolve_2d() keyword ignore_nodata to
        ignore_nodata_and_edges.
      • get_raster_info() / get_vector_info() keyword
        projection to projection_wkt.
    • Improve consistency and context for error messages related to
      raster reclassification across models by using
      utils.reclassify_raster.

    • Fixed bug that was causing a TypeError when certain input
      rasters had an undefined nodata value. Undefined nodata values
      should now work everywhere.

    • Include logging in python script generated from "Save to python
      script..." in the "Development" menu. Now logging messages from
      the model execution will show up when you run the script.

    • InVEST is now a 64-bit binary built against Python 3.7.

    • Adding Python 3.8 support for InVEST testing.

    • Add warning message to installer for 32-bit computers about
      installing 64-bit software.

    • Stop running validation extra times when model inputs autofill,
      saving a small but noticeable amount of time in launching a
      model.

    • The number of files included in the python source distribution
      has been reduced to just those needed to install the python
      package and run tests.

    • Code-sign the macOS distribution, and switch to a DMG
      distribution format.

    • No longer include the HTML docs or HISTORY.rst in the macOS
      distribution.

    • Bumped the shapely requirements to >=1.7.1 to address a
      library import issue on Mac OS Big Sur.

    • Fixing model local documentation links for Windows and Mac
      binaries.

    • The InVEST binary builds now launch on Mac OS 11 "Big Sur". This
      was addressed by defining the QT_MAC_WANTS_LAYER environment
      variable.

    • Fixed the alphabetical ordering of Windows Start Menu shortcuts.

  • Annual Water Yield

    • Fixing bug that limited rsupply result when wyield_mn or
      consump_mn was 0.
  • Coastal Blue Carbon

    • Refactor of Coastal Blue Carbon that implements TaskGraph for
      task management across the model and fixes a wide range of
      issues with the model that were returning incorrect results in
      all cases.
    • Corrected an issue with the model where available memory would
      be exhausted on a large number of timesteps.
    • In addition to the execute entrypoint, another entrypoint,
      execute_transition_analysis has been added that allows access
      to the transition analysis timeseries loop at a lower level.
      This will enable users comfortable with python to provide
      spatially-explicit maps of accumulation rates, half lives and
      other parameters that can only be provided via tables to
      execute.
    • Snapshot years and rasters, including the baseline year/raster,
      are now all provided via a table mapping snapshot years to the
      path to a raster on disk. The baseline year is the earliest year
      of these.
    • The model's "initial" and "lulc lookup" and "transient" tables
      have been combined into a single "biophysical" table, indexed by
      LULC code/LULC class name, that includes all of the columns from
      all of these former tables.
    • The "analysis year" is now a required input that must be >=
      the final snapshot year in the snapshots CSV.
    • Litter can now accumulate at an annual rate if desired.
    • The model now produces many more files, which allows for greater
      flexibility in post-processing of model outputs.
  • Coastal Vulnerability

    • 'shore_points_missing_geomorphology.gpkg' output file name
      now includes the suffix if any, and its one layer now is renamed
      from 'missing_geomorphology' to be the same as the file name
      (including suffix).
    • Fixed a memory bug that occurred during shore point
      interpolation when dealing with very large landmass vectors.
  • Delineateit

    • The layer in the 'preprocessed_geometries.gpkg' output is
      renamed from 'verified_geometries' to be the same as the file
      name (including suffix).
    • The layer in the 'snapped_outlets.gpkg' output is renamed from
      'snapped' to be the same as the file name (including suffix).
    • The layer in the 'watersheds.gpkg' output has been renamed from
      'watersheds' to match the name of the vector file (including the
      suffix).
    • Added pour point detection option as an alternative to providing
      an outlet features vector.
  • Finfish

    • Fixed a bug where the suffix input was not being used for output
      paths.
  • Forest Carbon Edge Effect

    • Fixed a broken link to the local User's Guide
    • Fixed bug that was causing overflow errors to appear in the logs
      when running with the sample data.
    • Mask out nodata areas of the carbon map output. Now there should
      be no output data outside of the input LULC rasater area.
  • GLOBIO

    • Fixing a bug with how the msa results were masked and operated
      on that could cause bad results in the msa outputs.
  • Habitat Quality

    • Refactor of Habitat Quality that implements TaskGraph
    • Threat files are now indicated in the Threat Table csv input
      under required columns: BASE_PATH, CUR_PATH, FUT_PATH.
    • Threat and Sensitivity column names are now case-insensitive.
    • Sensitivity threat columns now match threat names from Threat
      Table exactly, without the need for "L". "L" prefix is
      deprecated.
    • Threat raster input folder has been removed.
    • Validation enhancements that check whether threat raster paths
      are valid.
    • HQ update to User's Guide.
    • Changing sample data to reflect Threat Table csv input changes
      and bumping revision.
    • More comprehensive testing for Habitat Quality and validation.
    • Checking if Threat raster values are between 0 and 1 range,
      raising ValueError if not. No longer snapping values less than 0
      to 0 and greater than 1 to 1.
    • Fixing bug that was setting Threat raster values to 1 even if
      they were floats between 0 and 1.
    • Updating how threats are decayed across distance. Before, nodata
      edges were ignored causing values on the edges to maintain a
      higher threat value. Now, the decay does not ignore those nodata
      edges causing values on the edges to decay more quickly. The
      area of study should have adequate boundaries to account for
      these edge effects.
    • Update default half saturation value for sample data to 0.05
      from 0.1.
  • Seasonal Water Yield

    • Fixed a bug where precip or eto rasters of GDT_Float64 with
      values greater than 32-bit would overflow to -inf.
  • SDR

    • Fixing an issue where the LS factor should be capped to an
      upstream area of 333^2 m^2. In previous versions the LS factor
      was erroneously capped to "333" leading to high export spikes in
      some pixels.
    • Fixed an issue where sediment deposition progress logging was
      not progressing linearly.
    • Fixed a task dependency bug that in rare cases could cause
      failure.
  • Urban Cooling

    • Split energy savings valuation and work productivity valuation
      into separate UI options.
  • Urban Flood Risk

    • Changed output field names aff.bld and serv.blt to aff_bld
      and serv_blt respectively to fix an issue where ArcGIS would
      not display properly.

Sustainable Development - Sustainable Investment - Python
Published by dcdenu4 over 4 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.9

3.8.9 (2020-09-15)

  • Hydropower
    • Fixed bug that prevented validation from ever passing for this model.
      Validation will allow extra keys in addition to those in the ARGS_SPEC.
  • Urban Flood Mitigation
    • Fixed incorrect calculation of total quickflow volume.

Sustainable Development - Sustainable Investment - Python
Published by emlys over 4 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.8

3.8.8 (2020-09-04)

  • Coastal Vulnerability
    • Improved handling of invalid AOI geometries to avoid crashing and instead
      fix the geometry when possible and skip it otherwise.
    • Added validation check that shows a warning if the SLR vector is not
      a point or multipoint geometry.
  • Urban Cooling
    • Energy units are now (correctly) expressed in kWh. They were previously
      (incorrectly) expressed in kW.
    • Energy savings calculations now require that consumption is in units of
      kWh/degree C/m^2 for each building class.
    • Fixing an issue where blank values of the Cooling Coefficient weights
      (shade, albedo, ETI) would raise an error. Now, a default value for the
      coefficient is assumed if any single value is left blank.
  • HRA
    • Raise ValueError if habitat or stressor inputs are not projected.
    • Make sample data rating filepaths work on Mac. If not on Windows and a rating
      filepath isn't found, try replacing all backslashes with forward slashes.
  • Seasonal Water Yield
    • Updated output file name from aggregated_results.shp to aggregated_results_swy.shp
      for consistency with NDR and SDR
  • Datastack
    • Saved datastack archives now use helpful identifying names for spatial input folders
  • Validation
    • Fixed bug that caused fields activated by a checkbox to make validation fail,
      even when the checkbox was unchecked.
  • General
    • Input table column headers are now insensitive to leading/trailing whitespace in
      most places.
    • Modified the script that produces a conda environment file from InVEST's python
      requirements file so that it includes the conda-forge channel in the file
      itself.
  • Recreation
    • Validate values in the type column of predictor tables early in execution. Raise
      a ValueError if a type value isn't valid (leading/trailing whitespace is okay).
  • Validation
    • Set a 5-second timeout on validation functions that access a file. This will raise
      a warning and prevent validation from slowing down the UI too much.

Sustainable Development - Sustainable Investment - Python
Published by emlys over 4 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.7

This bugfix release includes the following fixes and features:

  • General

    • Fixed an issue where some users would be unable to launch InVEST
      binaries on Windows. This crash was due to a configuration issue
      in PySide2==5.15.0 that will be fixed in a future release of
      PySide2.
  • GLOBIO

    • Fix a bug that mishandled combining infrastructure data when
      only one infrastructure data was present.
  • Urban Flood Risk

    • The output vector flood_risk_service.shp now includes a field,
      flood_vol that is the sum of the modeled flood volume (from
      Q_m3.tif) within the AOI.
    • Fieldnames in flood_risk_service.shp have been updated to more
      closely match the variables they match as documented in the
      User's Guide chapter. Specifically, serv_bld is now serv.blt
      and aff_bld is now aff.bld.
    • Q_mm.tif has been moved from the intermediate directory into
      the workspace.
    • Fixed a bug in the flood volume (Q_m3.tif) calculations that
      was producing incorrect values in all cases.

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.6

This bugfix release includes the following fixes and features:

  • Crop Production
    • Fixed critical bug in crop regression that caused incorrect
      yields in all cases.

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.5

This bugfix release includes the following fixes and features:

  • General

    • Fix bug in utils.build_lookup_from_csv that was allowing key_field to be non unique and overwriting values.
    • Fix bug in utils.build_lookup_from_csv where trailing commas caused returned values to be malformed.
    • Add optional argument column_list to utils.build_lookup_from_csv that takes a list of column names and only returns those in the dictionary.
    • Remove warn_if_missing argument from utils.build_lookup_from_csv and warning by default.
  • Urban Flood Risk Mitigation

    • Fixed an issue where the output vector flood_risk_service.shp would only be created when the built infrastructure vector was provided. Now, the flood_risk_service.shp vector is always created, but the fields created differ depending on whether the built infrastructure input is present during the model run.
    • Fixed an issue where the model would crash if an infrastructure geometry were invalid or absent. Such features are now skipped.
  • Scenic Quality

    • Fixing an issue in Scenic Quality where the creation of the weighted sum of visibility rasters could cause "Too Many Open Files" errors and/or MemoryError when the model is run with many viewpoints.
    • Progress logging has been added to several loops that may take a longer time when the model is run with thousands of points at a time.
    • A major part of the model's execution was optimized for speed, particularly when the model is run with many, many points.
  • SDR:

    • Removed the unused parameter args['target_pixel_size'] from the SDR execute docstring.

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.4

This bugfix release includes the following fixes and features:

  • General:

    • Advanced the Taskgraph version requirement to fix a bug where workspace directories created by InVEST versions <=3.8.0 could not be re-used by more recent InVEST versions.
  • NDR:

    • The Start Menu shortcut on Windows and launcher label on Mac now have consistent labels for NDR: "NDR: Nutrient Delivery Ratio".
  • SDR:

    • The Start Menu shortcut on Windows and launcher label on Mac now have consistent labels for SDR: "SDR: Sediment Delivery Ratio".

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.3

This bugfix release includes the following fixes and features:

  • SDR's compiled core now defines its own SQRT2 instead of relying
    on an available standard C library definition. This new definition
    helps to avoid some compiler issues on Windows.

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.2

This bugfix release includes the following fixes and features:

  • InVEST's CSV encoding requirements are now described in the
    validation error message displayed when a CSV cannot be opened.

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago

Integrated Valuation of Ecosystem Services and Tradeoffs - 3.8.1

This bugfix release includes the following fixes and features:

  • Fixed a compilation issue on Mac OS X Catalina.
  • Fixed an issue with NDR's raster normalization function so that
    Float64 nodata values are now correctly cast to Float32. This issue
    was affecting the summary vector, where the surf_n, sub_n and
    n_export_tot columns would contain values of -inf.
  • Fixed minor bug in Coastal Vulnerability shore point creation. Also
    added a check to fail fast when zero shore points are found within
    the AOI.
  • The Finfish Aquaculture model no longer generates histograms for
    uncertainty analysis due to issues with matplotlib that make InVEST
    unstable. See https://github.com/natcap/invest/issues/87 for more.
  • Corrected the Urban Cooling Model's help text for the "Cooling
    Capacity Calculation Method" in the User Interface.
  • Fixing an issue with SDR's LS calculations. The x term is now
    the weighted mean of proportional flow from the current pixel into
    its neighbors. Note that for ease of debugging, this has been
    implemented as a separate raster and is now included in RKLS
    calculations instead of in the LS calculations.
  • Fixed a bug in validation where checking for spatial overlap would
    be skipped entirely in cases where optional model arguments were not
    used.
  • Bumping the psutil dependency requirement to psutil>=5.6.6 to
    address a double-free vulnerability documented in CVE-2019-18874.
  • Adding a GitHub Actions workflow for building python wheels for Mac
    and Windows as well as a source distribution.
  • Updating links in setup.py, README.rst and README_PYTHON.rst
    to refer to the repository's new home on github.
  • Binary builds for Windows and Mac OS X have been moved to GitHub
    Actions from AppVeyor. All AppVeyor-specific configuration has been
    removed.
  • Fixing an issue with the InVEST Makefile where make deploy was
    attempting to synchronize nonexistent sample data zipfiles with a
    storage bucket on GCP. Sample data zipfiles are only built on
    Windows, and so make deploy will only attempt to upload them when
    running on Windows.
  • Fixed a bug in CLI logging where logfiles created by the CLI were
    incompatible with the natcap.invest.datastack operation that
    allows the UI to load model arguments from logfiles.
  • Added error-handling in Urban Flood Risk Mitigation to tell users to
    "Check that the Soil Group raster does not contain values other than
    (1, 2, 3, 4)" when a ValueError is raised from _lu_to_cn_op.
  • Updated the Makefile to use the new git location of the InVEST
    User's Guide repository at
    https://github.com/natcap/invest.users-guide
  • Automated tests are now configured to use Github Actions for 32- and
    64-bit build targets for Python 3.6 and 3.7 on Windows. We are still
    using AppVeyor for our binary builds for the time being.
  • Makefile has been updated to fetch the version string from git
    rather than hg. A mercurial client is still needed in order to
    clone the InVEST User's Guide.
  • Removing Python 2 compatibility code such as future, pyqt4,
    basestring, unicode, six, unicode casting, etc...
  • Update api-docs conf file to mock sdr.sdr_core and to use updated
    unittest mock

Sustainable Development - Sustainable Investment - Python
Published by phargogh almost 5 years ago