# bpcmp
Utility which allows for the comparison of two [ADIOS2](https://adios2.readthedocs.io/en/latest/index.html) bp output. The user must specify the location of the output and can use verbose output, set the absolute and relative tolerances for float type variables, and specify attributes and variables to ignore.
Inspired by this [gist](https://gist.github.com/jychoi-hpc/b4654e178edd84c9b8a2a198ab1c6c95).
Floating point comparison done using numpy [allclose](https://numpy.org/doc/stable/reference/generated/numpy.allclose.html).
Install from PyPi:
```
pip install bpcmp
```
Install from source:
```
git clone git@github.com:PrincetonUniversity/bpcmp.git
cd bpcmp
pip install . # include the -e option to make the installation editable
```
Usage:
```
bpcmp out1.bp out2.bp
```
All of the arguments are optional.
| Argument | Description |
| :------------------------ | :-------------------------------------------------------------------------- |
| -v LEVEL | Use for verbose output level (0,1,2) = (nothing, errors only, everything) |
| -r RTOL | Set the relative tolerance when comparing float variables (default is zero) |
| -a ATOL | Set the absolute tolerance when comparing float variables (default is zero) |
| --ignore-atts IGNORE_ATTS | Provide list of attributes to ignore |
| --ignore-vars IGNORE_VARS | Provide list of variables to ignore |
```
bpcmp out1.bp out.bp -v 1 -r 0.000001 -a 0.0001 --ignore-atts att1 att2 --ignore-vars var1 var2
```
Also included is a `bpdump` utility for dumping the contents of ADIOS2 bp output to the screen:
```
bpdump out1.bp
```
Raw data
{
"_id": null,
"home_page": null,
"name": "bpcmp",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ADIOS2, comparison, regression testing",
"author": null,
"author_email": "Jai Sachdev <jsachdev@pppl.gov>",
"download_url": "https://files.pythonhosted.org/packages/bb/f5/6c4a84ba95c2c8ac6cd04ae2d74b8cb7f13c373ff1c156ce7013fb40542d/bpcmp-1.0.0.tar.gz",
"platform": null,
"description": "# bpcmp\n\nUtility which allows for the comparison of two [ADIOS2](https://adios2.readthedocs.io/en/latest/index.html) bp output. The user must specify the location of the output and can use verbose output, set the absolute and relative tolerances for float type variables, and specify attributes and variables to ignore.\n\nInspired by this [gist](https://gist.github.com/jychoi-hpc/b4654e178edd84c9b8a2a198ab1c6c95).\n\nFloating point comparison done using numpy [allclose](https://numpy.org/doc/stable/reference/generated/numpy.allclose.html).\n\nInstall from PyPi:\n\n```\npip install bpcmp\n```\n\nInstall from source:\n\n```\ngit clone git@github.com:PrincetonUniversity/bpcmp.git\ncd bpcmp\npip install . # include the -e option to make the installation editable\n```\n\nUsage:\n\n```\nbpcmp out1.bp out2.bp\n```\n\nAll of the arguments are optional.\n\n| Argument | Description |\n| :------------------------ | :-------------------------------------------------------------------------- |\n| -v LEVEL | Use for verbose output level (0,1,2) = (nothing, errors only, everything) |\n| -r RTOL | Set the relative tolerance when comparing float variables (default is zero) |\n| -a ATOL | Set the absolute tolerance when comparing float variables (default is zero) |\n| --ignore-atts IGNORE_ATTS | Provide list of attributes to ignore |\n| --ignore-vars IGNORE_VARS | Provide list of variables to ignore |\n\n```\nbpcmp out1.bp out.bp -v 1 -r 0.000001 -a 0.0001 --ignore-atts att1 att2 --ignore-vars var1 var2\n```\n\nAlso included is a `bpdump` utility for dumping the contents of ADIOS2 bp output to the screen:\n\n```\nbpdump out1.bp\n```\n",
"bugtrack_url": null,
"license": "GNU General Public License 3",
"summary": "Comparison tool for ADIOS2 bp output",
"version": "1.0.0",
"project_urls": null,
"split_keywords": [
"adios2",
" comparison",
" regression testing"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d3d30803a1aeee7a49cbb717d0b4531c514508c977fd802facf8bf7a54a9f818",
"md5": "bd9a6d34c436cf156066abd1531df363",
"sha256": "52afb2353601812f80fa25b65fe678664264ec22479d647303819c07cefc4cd2"
},
"downloads": -1,
"filename": "bpcmp-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bd9a6d34c436cf156066abd1531df363",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 18259,
"upload_time": "2024-12-11T14:19:03",
"upload_time_iso_8601": "2024-12-11T14:19:03.502208Z",
"url": "https://files.pythonhosted.org/packages/d3/d3/0803a1aeee7a49cbb717d0b4531c514508c977fd802facf8bf7a54a9f818/bpcmp-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bbf56c4a84ba95c2c8ac6cd04ae2d74b8cb7f13c373ff1c156ce7013fb40542d",
"md5": "22555414c9aad6df973074d34d4dec84",
"sha256": "8ce38f7b1f4b10dd674a38d8a9ee66867c6d2a6127c9cf6aa46878aea261581b"
},
"downloads": -1,
"filename": "bpcmp-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "22555414c9aad6df973074d34d4dec84",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 19021,
"upload_time": "2024-12-11T14:19:04",
"upload_time_iso_8601": "2024-12-11T14:19:04.573693Z",
"url": "https://files.pythonhosted.org/packages/bb/f5/6c4a84ba95c2c8ac6cd04ae2d74b8cb7f13c373ff1c156ce7013fb40542d/bpcmp-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 14:19:04",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "bpcmp"
}