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

Sporadic failures using mamba-version: "*" #274

Open
victorlin opened this issue Jan 12, 2023 · 13 comments
Open

Sporadic failures using mamba-version: "*" #274

victorlin opened this issue Jan 12, 2023 · 13 comments

Comments

@victorlin
Copy link

victorlin commented Jan 12, 2023

(originally from nextstrain/augur#1125)

Description

I'm aware that using mamba-version is an experimental feature, and some instability can be expected.

However, I've noticed that it's been failing more often than usual on at least two repos managed by my team @nextstrain.

The error is not very useful:

##[error]The process '/usr/share/miniconda/condabin/conda' failed with exit code 1

I've compared a failing run with a successful re-run of the same workflow. There are some notable differences in the output of conda config --show:

75d74
< allowlist_channels: []
110c109
< default_python: 3.10
---
> default_python: 3.9
123a123
> experimental_solver: classic
125d124
< fetch_threads: 5
137d135
< number_channel_notices: 5
165d162
< solver: classic
181a179
> whitelist_channels: []
197c195
< no change     /usr/share/miniconda/lib/python3.10/site-packages/xontrib/conda.xsh
---
> no change     /usr/share/miniconda/lib/python3.9/site-packages/xontrib/conda.xsh

I do not understand why there are differences in Python versions and other conda config between two runs of the same workflow.

Known Workarounds

1. Use Mambaforge

  1. Remove mamba-version.
  2. Add miniforge-variant: Mambaforge (and optionally miniforge-version).

Example: nextstrain/cli@4a76497

2. Use the new libmamba solver

Note that this workaround can introduce a separate issue when used on windows-2022: conda/conda#12161.

  1. Remove mamba-version.

  2. Run this after the setup-miniconda step:

    - run: |
        conda install -n base conda-libmamba-solver
        conda config --set solver libmamba
  3. Replace mamba install with conda install.

Example: nextstrain/augur@344ed51

@joamatab
Copy link

AroneyS added a commit to AroneyS/binchicken that referenced this issue Jan 13, 2023
@joshuailevy
Copy link

Also observing this. https://github.com/andersen-lab/Freyja/actions/runs/3907050506. Thanks @victorlin for posting the workaround.

@jongyoul
Copy link

maresb added a commit to pymc-devs/pytensor that referenced this issue Jan 13, 2023
This is in hopes of resolving sporadic errors.
Ref: <conda-incubator/setup-miniconda#274>
pontushojer added a commit to AfshinLab/BLR that referenced this issue Jan 13, 2023
ricardoV94 pushed a commit to pymc-devs/pytensor that referenced this issue Jan 13, 2023
* Adjust setup-miniconda parameters

This is in hopes of resolving sporadic errors.
Ref: <conda-incubator/setup-miniconda#274>

* Adjust setup-miniconda for benchmarks

* Remove matrix entry in benchmarks
@victorlin
Copy link
Author

@traversaro thanks, I've updated the list of workarounds in the issue description and put that one first since it is the more popular one.

@victorlin
Copy link
Author

victorlin commented Jan 13, 2023

If you are not interested in using defaults, a possible strategy is to use mambaforge instead of miniconda

Note that defaults is included in the generated .condarc regardless of miniforge-variant. To truly get away from it, you'll have to use nodefaults, --override-channels, or conda config --remove channels defaults. See #207 for more info.

@kthyng
Copy link

kthyng commented Jan 13, 2023

I have been having the following error with ubuntu-latest:

PackagesNotFoundError: The following packages are missing from the target environment:
    - defaults/linux-64::conda==22.11.1=py310h06a4308_4[md5=07e2e8a698cf1e7f580b9efcae72184e]

with this in my test.yaml

      - uses: conda-incubator/setup-miniconda@v2
        with:
          mamba-version: "*" # activate this to build with mamba.
          channels: conda-forge, defaults # These need to be specified to use mamba
          channel-priority: true
          environment-file: ci/environment-py${{ matrix.python-version }}.yml

          activate-environment: test_env_cmocean
          use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!

(example PR with errors earlier: matplotlib/cmocean#88)

and workaround 1 above worked for me!

pwwang added a commit to pwwang/biopipen that referenced this issue Jan 14, 2023
pwwang added a commit to pwwang/biopipen that referenced this issue Jan 14, 2023
* 🎨 [scripts.utils.vcf] Use format keys for samples

* ✨ [vcf.VcfFix] Dedent envs.helpers automatically and allow it to be list of strings

* 🧑‍💻 [tcr.CloneResidency] Add count table and allow grouping samples in the report

* 🧑‍💻 [cnvkit.CNVkitCall] Allow not passing threshold

* 🧑‍💻 [cnvkit.CNVkitCall] Allow setting cutoff to fetch significant genes for enrichment analysis

* 🧑‍💻 [scrna.SeuratPreparing/SeuratClustering] Do QC in SeuratPreparing only and prepare clustering in SeuratClustering

* ✨ [cnvkit_pipeline] Allow customization of colnames in metafile

* 💚 Fix CI (conda-incubator/setup-miniconda#274)

* 🔖 0.6.2
@rosepearson
Copy link

This is affecting me too on https://github.com/rosepearson/GeoFabrics/actions/runs/3925803401/jobs/6710960393. I'll look at work around 1 thanks,

rosepearson added a commit to rosepearson/GeoFabrics that referenced this issue Jan 15, 2023
Documented work around in conda-incubator/setup-miniconda#274 in response to transient errors
rosepearson added a commit to rosepearson/GeoFabrics that referenced this issue Jan 16, 2023
* Update pyproject.toml - Update version
* Update GH actions test to try fix broken install by use Mambaforge 
    * Documented work around in conda-incubator/setup-miniconda#274 in response to transient errors
* Update PR template
* Updated tests after OSM edits
kthyng added a commit to kthyng/ocean-model-skill-assessor that referenced this issue Jan 16, 2023
ianmkenney added a commit to ianmkenney/cookiecutter-mdakit that referenced this issue Jan 16, 2023
- Per the workaround in "conda-incubator/setup-miniconda#274 (comment)"
- Set to use mamba over conda
@padix-key
Copy link

I created a minimum working example for this issue using different OS and Python versions: https://github.com/padix-key/gha-mamba

In this setup this issue only affects Ubuntu builds: https://github.com/padix-key/gha-mamba/actions/runs/4044454081

@goanpeca
Copy link
Member

Hi @padix-key thanks for the example!

olemke added a commit to atmtools/pyarts-conda that referenced this issue Feb 1, 2023
olemke added a commit to atmtools/pyarts-conda that referenced this issue Feb 1, 2023
djgagne added a commit to ai2es/ptype-physical that referenced this issue Feb 6, 2023
observingClouds added a commit to observingClouds/xbitinfo that referenced this issue Feb 14, 2023
observingClouds added a commit to observingClouds/xbitinfo that referenced this issue Feb 14, 2023
pdiakumis added a commit to umccr/dracarys that referenced this issue Feb 15, 2023
wcarthur added a commit to GeoscienceAustralia/hazimp that referenced this issue Jul 25, 2023
wcarthur added a commit to GeoscienceAustralia/hazimp that referenced this issue Jul 25, 2023
* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors
wcarthur added a commit to GeoscienceAustralia/hazimp that referenced this issue Jul 26, 2023
* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors
bsaavedrabo pushed a commit to ai2es/ptype-physical that referenced this issue Aug 4, 2023
Zeitsperre added a commit to Ouranosinc/raven that referenced this issue Aug 17, 2023
Changes:

* Used a workaround to fix a CI action

## Related Issue / Discussion

conda-incubator/setup-miniconda#274
AstrobioMike added a commit to AstrobioMike/GToTree that referenced this issue Oct 14, 2023
- having errors with mamba in macos test, trying workaround as noted here: conda-incubator/setup-miniconda#274 (comment)
AstrobioMike added a commit to AstrobioMike/GToTree that referenced this issue Oct 14, 2023
- having errors with mamba in macos test, trying workaround as noted here: conda-incubator/setup-miniconda#274 (comment)
lczech added a commit to moiexpositoalonsolab/grenepipe that referenced this issue Mar 27, 2024
@padix-key
Copy link

In an updated version of https://github.com/padix-key/gha-mamba (updated setup-miniconda and platform version), this issue did not appear anymore. Can this issue be closed?

NicoleA-GA added a commit to GeoscienceAustralia/hazimp that referenced this issue Jan 29, 2025
* Version 1.1 release

* Fix failing tests

* rc1.1 (#52)

* Add categorisation and tabulation (pivot table)
* TCRM-47: Implemented S3 download and upload functionality.
* WIP: Asset count in defined damage states for aggregated output
* Calculate percentages in damage state table
* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema
* NHIRS-9: Add unit tests for creation of choropleth aggregation
* NHIRS-9: Default output format for spatial aggregation
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* Move PEP8 conformance test into tests module, and fix E501 failures
* Add aggregation functions to provenance statement
* add domesitc eq vulnerability curves in MMI  (#35)
* NHIRS-22: Increase unit test coverage (#36)
* Update to NRML 0.5 (#38)
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-18: Split templates into new module separated by hazard type
* NHIRS-8 - Improve memory usage for large raster input (#41)
* NHIRS-54: Change default aggregate output format to GeoJSON (#42)
* NHIRS-58: Add domestic_wind_vul_curves_2021.xml to resources folder
* NHIRS-92: Support multiple aggregate output formats
* Update hazimp-tests.yml to test with range of python versions
* Categorise aggregated features (#49)
* NHIRS-48: Add and test categorisation of aggregated fields
* NHIRS-48: Update unit tests
* NHIRS-48: Improve Shapefile labelling of categorised damage state
* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Documentation updates
* Update config requirements
* Add requirements.txt
* Example config includes count of damage states


Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>

* Add time info to log messages

* Add image for cov of vulnerability

* Add lower quantile for permutations (#56)

* Update docs to reflect range of percentiles in permutation

* Version 1.2 (#58)


* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema (#30)
* Conda versions, tests module, default aggregate output (#31)
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* NHIRS-11 - Update flood templates to use generic raster reader (#33)
* NHIRS-11: Add support for generic 'hazard_raster' to wind templates
* Switched template instantiation to use config dictionary, removed use of config list
* Update find_attributes to use config dictionary for locating attributes, and support lookup via a ordered list of keys to ease deprecation

* Update to NRML 0.5 schema
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-8 - Improve memory usage for large raster input (#41)-  No longer reads the entire raster into memory, reads only the cells defined in the exposure data
* Added a 'ThreadPoolExecutor' for some performance improvement when reading hazard data for large exposure datasets
* NHIRS-48: Add and test categorisation of aggregated fields

* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Add git remote URL to provenance
* Update hazimp-tests.yml
* Update to a new configuration structure where vulnerability information is a node in the yaml, rather than separate keys for each piece of information (file name, vulnerability set, etc.)
* Fixes an issue when creating a mock s3 bucket with no region specified raised `IllegalLocationConstraintException`
* Replace a large number of deprecated scipy array calls with numpy equivalents
* Update gdal import to `from osgeo import gdal` and equivalent for other gdal functions (required to get gdal correctly installed for Python 3.8)
* Update xml creation test for actual coefficient of variation values (previously ignored)
* Remove Python 3.6 from github actions
* Add time info to log messages
* Add image for cov of vulnerability
* Add lower quantile for permutations (#56)
* Update docs to reflect range of percentiles in permutation


Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: NicoleA-GA <[email protected]>

* rc1.2 (#59)

* Update create_vuln_xml.py
* Revert change to zero cov values
* Add 2022 vulnerability curves

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* Merge install notes

* Squashed commit of the following:

commit 3fc8465
Merge: be42197 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 15:01:25 2023 +1000

    Merge to v1.2.1

commit be42197
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:49:20 2023 +1000

    Merge install notes

commit 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:47:05 2023 +1000

    v1.2.1 release (#60)

    * AH-1763 Add 2022 vulnerability curves

* #61 Fix insertion of underscores (#62)

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* BUGFIX for aggregate.py (#61)

* AH-1801 Make aggregation field types consistent (#65)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* Make aggregation field types consistent (#66)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* HOTFIX: Update readthedocs configuration

* HOTFIX: Further readthedocs changes

* AH-1902 HOTFIX: Use gitdb to fix SHA error (#67)

Solution based on gitpython-developers/GitPython#1180 (comment)

* NHIRS-209 bugfix for inexplicable pd.merge errors (#68)

* NHIRS-209 bugfix for inexplicable pd.merge errors

`pd.merge` in `aggregate.py` started throwing InvalidIndexError when merging the aggregate and pivot_table outputs. The fix renames the first column with itself, which seems to repair the indexing and allows the merge to be done without error.

* Version 1.3 release (#70)

* AH-2003 Surge templates (#69)
* Remove wind templates on which the surge template is based
* Update flood.py - PEP8 conformance (line > 80 characters)
* RC1.3 Update docs and version numbers
* Remove deprecated wind_reader_v3

* rc1.3 (#71)

* AH-2003 Surge templates (#69)
* AH-2003 Add surge template test
* Remove wind templates on which the surge template is based
* RC1.3 Update docs and version numbers
* RC1.3 - PEP8 fixes

* Version 1.4

    * Handle absence of CoV coefficients in `create_vuln_xml.py`: some vulnerability functions may not include the requuired fields to calculate coefficient of variation around the mean value. This raised a ValueError when attempting to convert to a float.
    * Add updated flood vulnerability functions:  these were provided by VRMS in 2024, but were dated 2019. Changed the IMT to match the required NRML schema definition
    * Update test_misc for older versions of Python that don't use moto v5.0 or above
    * Update upload-artifact to v4
    * Add surge vulnerability models for example case
    * Use gitdb to fix SHA error: dolution based on gitpython-developers/GitPython#1180 (comment)

* HOTFIX: create_vuln_xml.py converted IMLs to ints before looking up values

* Remove numpy.NAN alias, fix mambaforge deprecation in actions

* Flood impact fixes and hazard raster scaling (#73)

* Minor flood impact fixes

* Add option to apply scaling factor to hazard raster

* edits to user guide to include scaling_factor and aggregate (#74)

* update flood vuln curves to reach 0 (#76)

---------

Co-authored-by: Craig Arthur <[email protected]>
Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: Craig Arthur <[email protected]>
NicoleA-GA added a commit to GeoscienceAustralia/hazimp that referenced this issue Jan 29, 2025
* including cov.csv

* merge master into CoV_xml branch (#78)

* Version 1.1 release

* Fix failing tests

* rc1.1 (#52)

* Add categorisation and tabulation (pivot table)
* TCRM-47: Implemented S3 download and upload functionality.
* WIP: Asset count in defined damage states for aggregated output
* Calculate percentages in damage state table
* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema
* NHIRS-9: Add unit tests for creation of choropleth aggregation
* NHIRS-9: Default output format for spatial aggregation
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* Move PEP8 conformance test into tests module, and fix E501 failures
* Add aggregation functions to provenance statement
* add domesitc eq vulnerability curves in MMI  (#35)
* NHIRS-22: Increase unit test coverage (#36)
* Update to NRML 0.5 (#38)
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-18: Split templates into new module separated by hazard type
* NHIRS-8 - Improve memory usage for large raster input (#41)
* NHIRS-54: Change default aggregate output format to GeoJSON (#42)
* NHIRS-58: Add domestic_wind_vul_curves_2021.xml to resources folder
* NHIRS-92: Support multiple aggregate output formats
* Update hazimp-tests.yml to test with range of python versions
* Categorise aggregated features (#49)
* NHIRS-48: Add and test categorisation of aggregated fields
* NHIRS-48: Update unit tests
* NHIRS-48: Improve Shapefile labelling of categorised damage state
* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Documentation updates
* Update config requirements
* Add requirements.txt
* Example config includes count of damage states


Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>

* Add time info to log messages

* Add image for cov of vulnerability

* Add lower quantile for permutations (#56)

* Update docs to reflect range of percentiles in permutation

* Version 1.2 (#58)


* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema (#30)
* Conda versions, tests module, default aggregate output (#31)
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* NHIRS-11 - Update flood templates to use generic raster reader (#33)
* NHIRS-11: Add support for generic 'hazard_raster' to wind templates
* Switched template instantiation to use config dictionary, removed use of config list
* Update find_attributes to use config dictionary for locating attributes, and support lookup via a ordered list of keys to ease deprecation

* Update to NRML 0.5 schema
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-8 - Improve memory usage for large raster input (#41)-  No longer reads the entire raster into memory, reads only the cells defined in the exposure data
* Added a 'ThreadPoolExecutor' for some performance improvement when reading hazard data for large exposure datasets
* NHIRS-48: Add and test categorisation of aggregated fields

* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Add git remote URL to provenance
* Update hazimp-tests.yml
* Update to a new configuration structure where vulnerability information is a node in the yaml, rather than separate keys for each piece of information (file name, vulnerability set, etc.)
* Fixes an issue when creating a mock s3 bucket with no region specified raised `IllegalLocationConstraintException`
* Replace a large number of deprecated scipy array calls with numpy equivalents
* Update gdal import to `from osgeo import gdal` and equivalent for other gdal functions (required to get gdal correctly installed for Python 3.8)
* Update xml creation test for actual coefficient of variation values (previously ignored)
* Remove Python 3.6 from github actions
* Add time info to log messages
* Add image for cov of vulnerability
* Add lower quantile for permutations (#56)
* Update docs to reflect range of percentiles in permutation


Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: NicoleA-GA <[email protected]>

* rc1.2 (#59)

* Update create_vuln_xml.py
* Revert change to zero cov values
* Add 2022 vulnerability curves

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* Merge install notes

* Squashed commit of the following:

commit 3fc8465
Merge: be42197 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 15:01:25 2023 +1000

    Merge to v1.2.1

commit be42197
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:49:20 2023 +1000

    Merge install notes

commit 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:47:05 2023 +1000

    v1.2.1 release (#60)

    * AH-1763 Add 2022 vulnerability curves

* #61 Fix insertion of underscores (#62)

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* BUGFIX for aggregate.py (#61)

* AH-1801 Make aggregation field types consistent (#65)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* Make aggregation field types consistent (#66)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* HOTFIX: Update readthedocs configuration

* HOTFIX: Further readthedocs changes

* AH-1902 HOTFIX: Use gitdb to fix SHA error (#67)

Solution based on gitpython-developers/GitPython#1180 (comment)

* NHIRS-209 bugfix for inexplicable pd.merge errors (#68)

* NHIRS-209 bugfix for inexplicable pd.merge errors

`pd.merge` in `aggregate.py` started throwing InvalidIndexError when merging the aggregate and pivot_table outputs. The fix renames the first column with itself, which seems to repair the indexing and allows the merge to be done without error.

* Version 1.3 release (#70)

* AH-2003 Surge templates (#69)
* Remove wind templates on which the surge template is based
* Update flood.py - PEP8 conformance (line > 80 characters)
* RC1.3 Update docs and version numbers
* Remove deprecated wind_reader_v3

* rc1.3 (#71)

* AH-2003 Surge templates (#69)
* AH-2003 Add surge template test
* Remove wind templates on which the surge template is based
* RC1.3 Update docs and version numbers
* RC1.3 - PEP8 fixes

* Version 1.4

    * Handle absence of CoV coefficients in `create_vuln_xml.py`: some vulnerability functions may not include the requuired fields to calculate coefficient of variation around the mean value. This raised a ValueError when attempting to convert to a float.
    * Add updated flood vulnerability functions:  these were provided by VRMS in 2024, but were dated 2019. Changed the IMT to match the required NRML schema definition
    * Update test_misc for older versions of Python that don't use moto v5.0 or above
    * Update upload-artifact to v4
    * Add surge vulnerability models for example case
    * Use gitdb to fix SHA error: dolution based on gitpython-developers/GitPython#1180 (comment)

* HOTFIX: create_vuln_xml.py converted IMLs to ints before looking up values

* Remove numpy.NAN alias, fix mambaforge deprecation in actions

* Flood impact fixes and hazard raster scaling (#73)

* Minor flood impact fixes

* Add option to apply scaling factor to hazard raster

* edits to user guide to include scaling_factor and aggregate (#74)

* update flood vuln curves to reach 0 (#76)

---------

Co-authored-by: Craig Arthur <[email protected]>
Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: Craig Arthur <[email protected]>

---------

Co-authored-by: Craig Arthur <[email protected]>
Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: Craig Arthur <[email protected]>
NicoleA-GA added a commit to GeoscienceAustralia/hazimp that referenced this issue Jan 29, 2025
* including cov.csv

* merge master into CoV_xml branch (#78)

* Version 1.1 release

* Fix failing tests

* rc1.1 (#52)

* Add categorisation and tabulation (pivot table)
* TCRM-47: Implemented S3 download and upload functionality.
* WIP: Asset count in defined damage states for aggregated output
* Calculate percentages in damage state table
* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema
* NHIRS-9: Add unit tests for creation of choropleth aggregation
* NHIRS-9: Default output format for spatial aggregation
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* Move PEP8 conformance test into tests module, and fix E501 failures
* Add aggregation functions to provenance statement
* add domesitc eq vulnerability curves in MMI  (#35)
* NHIRS-22: Increase unit test coverage (#36)
* Update to NRML 0.5 (#38)
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-18: Split templates into new module separated by hazard type
* NHIRS-8 - Improve memory usage for large raster input (#41)
* NHIRS-54: Change default aggregate output format to GeoJSON (#42)
* NHIRS-58: Add domestic_wind_vul_curves_2021.xml to resources folder
* NHIRS-92: Support multiple aggregate output formats
* Update hazimp-tests.yml to test with range of python versions
* Categorise aggregated features (#49)
* NHIRS-48: Add and test categorisation of aggregated fields
* NHIRS-48: Update unit tests
* NHIRS-48: Improve Shapefile labelling of categorised damage state
* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Documentation updates
* Update config requirements
* Add requirements.txt
* Example config includes count of damage states








* Add time info to log messages

* Add image for cov of vulnerability

* Add lower quantile for permutations (#56)

* Update docs to reflect range of percentiles in permutation

* Version 1.2 (#58)


* NHIRS-15: Add NRML schema from https://github.com/gem/oq-nrmllib/tree/master/openquake/nrmllib/schema (#29)
* NHIRS-14: Add XML schema validation, validate vulnerability curves against NRLM schema; update vulnerability curves to match NRML schema; update unit tests; update create_vuln_xml.py to generate XML conforming to NRML schema (#30)
* Conda versions, tests module, default aggregate output (#31)
* NHIRS-10: Add support for configuring choropleth aggregation fields (#32)
* NHIRS-11 - Update flood templates to use generic raster reader (#33)
* NHIRS-11: Add support for generic 'hazard_raster' to wind templates
* Switched template instantiation to use config dictionary, removed use of config list
* Update find_attributes to use config dictionary for locating attributes, and support lookup via a ordered list of keys to ease deprecation

* Update to NRML 0.5 schema
* NHIRS-18 - Initial Earthquake template with example (#39)
* NHIRS-8 - Improve memory usage for large raster input (#41)-  No longer reads the entire raster into memory, reads only the cells defined in the exposure data
* Added a 'ThreadPoolExecutor' for some performance improvement when reading hazard data for large exposure datasets
* NHIRS-48: Add and test categorisation of aggregated fields

* Update provenance connections between activities
* Calculate "worst-case" loss by permution of exposure
* Add git remote URL to provenance
* Update hazimp-tests.yml
* Update to a new configuration structure where vulnerability information is a node in the yaml, rather than separate keys for each piece of information (file name, vulnerability set, etc.)
* Fixes an issue when creating a mock s3 bucket with no region specified raised `IllegalLocationConstraintException`
* Replace a large number of deprecated scipy array calls with numpy equivalents
* Update gdal import to `from osgeo import gdal` and equivalent for other gdal functions (required to get gdal correctly installed for Python 3.8)
* Update xml creation test for actual coefficient of variation values (previously ignored)
* Remove Python 3.6 from github actions
* Add time info to log messages
* Add image for cov of vulnerability
* Add lower quantile for permutations (#56)
* Update docs to reflect range of percentiles in permutation









* rc1.2 (#59)

* Update create_vuln_xml.py
* Revert change to zero cov values
* Add 2022 vulnerability curves

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* Merge install notes

* Squashed commit of the following:

commit 3fc8465
Merge: be42197 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 15:01:25 2023 +1000

    Merge to v1.2.1

commit be42197
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:49:20 2023 +1000

    Merge install notes

commit 8e5d551
Author: Craig Arthur <[email protected]>
Date:   Thu Jul 13 14:47:05 2023 +1000

    v1.2.1 release (#60)

    * AH-1763 Add 2022 vulnerability curves

* #61 Fix insertion of underscores (#62)

* v1.2.1 release (#60)

* AH-1763 Add 2022 vulnerability curves

* BUGFIX for aggregate.py (#61)

* AH-1801 Make aggregation field types consistent (#65)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* Make aggregation field types consistent (#66)

* AH-1801 Change key dtypes to match
* AH-1801 update workflow file - Trying fixes from conda-incubator/setup-miniconda#274
* AH-1801 fix pylint errors

* HOTFIX: Update readthedocs configuration

* HOTFIX: Further readthedocs changes

* AH-1902 HOTFIX: Use gitdb to fix SHA error (#67)

Solution based on gitpython-developers/GitPython#1180 (comment)

* NHIRS-209 bugfix for inexplicable pd.merge errors (#68)

* NHIRS-209 bugfix for inexplicable pd.merge errors

`pd.merge` in `aggregate.py` started throwing InvalidIndexError when merging the aggregate and pivot_table outputs. The fix renames the first column with itself, which seems to repair the indexing and allows the merge to be done without error.

* Version 1.3 release (#70)

* AH-2003 Surge templates (#69)
* Remove wind templates on which the surge template is based
* Update flood.py - PEP8 conformance (line > 80 characters)
* RC1.3 Update docs and version numbers
* Remove deprecated wind_reader_v3

* rc1.3 (#71)

* AH-2003 Surge templates (#69)
* AH-2003 Add surge template test
* Remove wind templates on which the surge template is based
* RC1.3 Update docs and version numbers
* RC1.3 - PEP8 fixes

* Version 1.4

    * Handle absence of CoV coefficients in `create_vuln_xml.py`: some vulnerability functions may not include the requuired fields to calculate coefficient of variation around the mean value. This raised a ValueError when attempting to convert to a float.
    * Add updated flood vulnerability functions:  these were provided by VRMS in 2024, but were dated 2019. Changed the IMT to match the required NRML schema definition
    * Update test_misc for older versions of Python that don't use moto v5.0 or above
    * Update upload-artifact to v4
    * Add surge vulnerability models for example case
    * Use gitdb to fix SHA error: dolution based on gitpython-developers/GitPython#1180 (comment)

* HOTFIX: create_vuln_xml.py converted IMLs to ints before looking up values

* Remove numpy.NAN alias, fix mambaforge deprecation in actions

* Flood impact fixes and hazard raster scaling (#73)

* Minor flood impact fixes

* Add option to apply scaling factor to hazard raster

* edits to user guide to include scaling_factor and aggregate (#74)

* update flood vuln curves to reach 0 (#76)

---------









---------

Co-authored-by: Craig Arthur <[email protected]>
Co-authored-by: MahmudulHasanGA <[email protected]>
Co-authored-by: mahmudulhasanGA <[email protected]>
Co-authored-by: Callum <[email protected]>
Co-authored-by: Callum McKenna <[email protected]>
Co-authored-by: Hyeuk Ryu <[email protected]>
Co-authored-by: Craig Arthur <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests