summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-29 11:17:43 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-29 11:17:43 +0000
commit73ab2236a8d75b8a8b5487c8c86877693d93a07a (patch)
tree6cbe430105e5d3de2de02332907eda1aebb3eb26
parent1f8058f52cc9ce0846dc60714bdbffc8141bfb40 (diff)
automatic import of python-pychnosz
-rw-r--r--.gitignore1
-rw-r--r--python-pychnosz.spec567
-rw-r--r--sources1
3 files changed, 569 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..2946a9b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pyCHNOSZ-0.8.12.tar.gz
diff --git a/python-pychnosz.spec b/python-pychnosz.spec
new file mode 100644
index 0000000..131370c
--- /dev/null
+++ b/python-pychnosz.spec
@@ -0,0 +1,567 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pyCHNOSZ
+Version: 0.8.12
+Release: 1
+Summary: Python wrapper for the R package CHNOSZ.
+License: MIT License
+URL: https://pypi.org/project/pyCHNOSZ/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/9f/6c/adb44cf05fb9c3069c4779bcf8386d2684c088d532b6369439274d39d091/pyCHNOSZ-0.8.12.tar.gz
+BuildArch: noarch
+
+Requires: python3-rpy2
+Requires: python3-pandas
+Requires: python3-ipython
+Requires: python3-plotly
+Requires: python3-simplegeneric
+Requires: python3-chemparse
+
+%description
+# pyCHNOSZ
+
+Author: Dr. Grayson Boyer, GEOPIG Lab, Arizona State University
+
+[CHNOSZ](https://www.chnosz.net/) is a package written by [Dr. Jeff Dick](https://chnosz.net/jeff/) for performing thermodynamic calculations in aqueous geochemistry and biogeochemistry. pyCHNOSZ is a wrapper for CHNOSZ that allows these calculations to be carried out in Python 3 Jupyter notebooks.
+
+## Features
+
+The following CHNOSZ functions are supported in pyCHNOSZ:
+
+- [info](https://chnosz.net/manual/info.html) - Search for chemical species by name or formula and retrieve their thermodynamic parameters.
+- [add_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Add or overwrite species in the OBIGT thermodynamic database by supplying a comma separated value (csv) file with custom data.
+- [mod_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Modify species in the OBIGT thermodynamic database. Optionally, supply a Pandas dataframe containing custom data.
+- [reset](https://chnosz.net/manual/thermo.html) - reset data to default values.
+- [subcrt](https://chnosz.net/manual/subcrt.html) - Calculate standard state partial molal thermodynamic properties of reactions at elevated temperatures and pressures.
+- [basis](https://chnosz.net/manual/basis.html) - Define basis species of a chemical system.
+- [species](https://chnosz.net/manual/species.html) - Define the species of interest in a system.
+- [equilibrate](https://chnosz.net/manual/equilibrate.html) - Calculate equilibrium chemical activities of species from the affinities of formation of the species at unit activity.
+- [affinity](https://chnosz.net/manual/affinity.html) - Calculate the chemical affinities of formation reactions of species.
+- [diagram](https://chnosz.net/manual/diagram.html) - Plot equilibrium chemical activity (1-D speciation) or equal-activity (2-D predominance) diagrams as a function of chemical activities of basis species, temperature and/or pressure.
+
+
+## Requirements
+
+This package must be installed into an environment with an [R](https://www.r-project.org/) installation. See [these instructions](https://docs.anaconda.com/anaconda/user-guide/tasks/using-r-language/) for installing R with Anaconda. Additionally, the CHNOSZ package for R must be installed (see instructions below).
+
+## Installation
+
+### Installing CHNOSZ
+
+Open an R session. Install the CHNOSZ package with:
+
+```r
+install.packages("CHNOSZ")
+```
+
+Once CHNOSZ is installed you may quit the R session.
+
+### Installing pyCHNOSZ
+
+Install pyCHNOSZ using pip:
+
+```
+$ pip install pyCHNOSZ
+```
+
+## Usage
+
+Import pyCHNOSZ in your python code with:
+```python
+import pyCHNOSZ
+```
+
+In the following examples, pyCHNOSZ functions are imported with:
+```python
+from pyCHNOSZ import info, add_OBIGT, mod_OBIGT, reset, subcrt
+```
+
+### Search for chemical species
+
+The `info()` function can be used to look up chemical species by name or formula. If names or formulas are provided, database index integers are returned. A list of integers will look up chemical species by index and return a table of thermodynamic properties. See the `info()` function's [original documentation](https://chnosz.net/manual/info.html) to learn more about what this function can do. A few examples are shown below.
+
+Look up the database index value of Fe+2:
+
+```python
+info("Fe+2")
+```
+
+Look up multiple chemical species:
+
+```python
+info(["HCO3-", "CH4"])
+```
+
+Define chemical states:
+
+```python
+info(["HCO3-", "CH4"], state=["aq", "gas"])
+```
+
+Search species by index values to look up their thermodynamic parameters.
+
+```python
+info([13, 872])
+```
+
+Nest `info` functions to look up thermodynamic properties directly from names or formulas:
+
+```python
+info(info("Fe+2"))
+```
+
+Look up and add a protein to the database:
+
+```python
+info("LYSC_CHICK")
+```
+
+### Add or replace thermodynamic data in the database
+
+See the original R documentation for `add_OBIGT()` and `reset()` for basic useage. A few examples are given below.
+
+Load the SUPCRT92 database.
+
+```python
+a = add_OBIGT("SUPCRT92")
+```
+
+The variable `a` is assigned a list of integers corresponding to the indices of chemical species that are added or replaced in the OBIGT thermodynamic database used by pyCHNOSZ.
+
+It is possible to add a custom table of thermodynamic parameters.
+
+```python
+a = add_OBIGT("my_custom_entries.csv")
+info(a) # confirm new entries have been added
+```
+
+The entries of `my_custom_entries.csv` would then be available for thermodynamic calculations with `subcrt()`, for example.
+
+Reset thermodynamic database to its original configuration.
+
+```python
+reset()
+```
+
+Modify values in the thermodynamic database with `mod_OBIGT()`:
+
+```python
+mod_OBIGT("HCO3-", G = -140283.7, Cp = -9)
+info(info("HCO3-"))
+```
+
+### Calculate thermodynamic properties of reactions
+
+See the [original documentation](https://chnosz.net/manual/subcrt.html) for `subcrt()`. Useage in pyCHNOSZ is the same, except python lists are used in place of R's vectors. The function produces a dictionary of results stored in pandas dataframes. An example is shown below for the reaction H<sub>2 (aq)</sub> + 0.5 O<sub>2 (gas)</sub> = H<sub>2</sub>O<sub>(liq)</sub> at 30 and 50 degrees C and 100 bars pressure:
+
+```python
+subcrt(species=["H2", "O2", "H2O"], coeff=[-1.0, -0.5, 1.0],
+ state=["aq", "gas", "liq"], T=[30, 50], P=100)
+```
+
+Output is a python dictionary of dataframes:
+```
+subcrt: 3 species at 2 values of T (ºC) and P (bar) (wet) [energy units: cal]
+
+{'reaction': coeff name formula state ispecies
+ 62 -1.0 H2 H2 aq 62.0
+ 2612 -0.5 oxygen O2 gas 2612.0
+ 1 1.0 water H2O liq 1.0,
+ 'out': T P rho logK G H S \
+ 1 30.0 100 1.000017 43.855086 -60832.380282 -67420.887872 -21.89070
+ 2 50.0 100 0.992305 40.834419 -60379.262657 -67882.530994 -23.36663
+
+ V Cp
+ 1 -7.494052 -24.126268
+ 2 -8.259704 -20.941879 }
+```
+
+### More examples:
+
+For more examples, like plotting activity and predominance diagrams, check out the [pyCHNOSZ demo notebook](https://nbviewer.org/github/worm-portal/pyCHNOSZ/blob/master/test/pyCHNOSZ-demo.ipynb).
+
+
+
+
+%package -n python3-pyCHNOSZ
+Summary: Python wrapper for the R package CHNOSZ.
+Provides: python-pyCHNOSZ
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pyCHNOSZ
+# pyCHNOSZ
+
+Author: Dr. Grayson Boyer, GEOPIG Lab, Arizona State University
+
+[CHNOSZ](https://www.chnosz.net/) is a package written by [Dr. Jeff Dick](https://chnosz.net/jeff/) for performing thermodynamic calculations in aqueous geochemistry and biogeochemistry. pyCHNOSZ is a wrapper for CHNOSZ that allows these calculations to be carried out in Python 3 Jupyter notebooks.
+
+## Features
+
+The following CHNOSZ functions are supported in pyCHNOSZ:
+
+- [info](https://chnosz.net/manual/info.html) - Search for chemical species by name or formula and retrieve their thermodynamic parameters.
+- [add_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Add or overwrite species in the OBIGT thermodynamic database by supplying a comma separated value (csv) file with custom data.
+- [mod_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Modify species in the OBIGT thermodynamic database. Optionally, supply a Pandas dataframe containing custom data.
+- [reset](https://chnosz.net/manual/thermo.html) - reset data to default values.
+- [subcrt](https://chnosz.net/manual/subcrt.html) - Calculate standard state partial molal thermodynamic properties of reactions at elevated temperatures and pressures.
+- [basis](https://chnosz.net/manual/basis.html) - Define basis species of a chemical system.
+- [species](https://chnosz.net/manual/species.html) - Define the species of interest in a system.
+- [equilibrate](https://chnosz.net/manual/equilibrate.html) - Calculate equilibrium chemical activities of species from the affinities of formation of the species at unit activity.
+- [affinity](https://chnosz.net/manual/affinity.html) - Calculate the chemical affinities of formation reactions of species.
+- [diagram](https://chnosz.net/manual/diagram.html) - Plot equilibrium chemical activity (1-D speciation) or equal-activity (2-D predominance) diagrams as a function of chemical activities of basis species, temperature and/or pressure.
+
+
+## Requirements
+
+This package must be installed into an environment with an [R](https://www.r-project.org/) installation. See [these instructions](https://docs.anaconda.com/anaconda/user-guide/tasks/using-r-language/) for installing R with Anaconda. Additionally, the CHNOSZ package for R must be installed (see instructions below).
+
+## Installation
+
+### Installing CHNOSZ
+
+Open an R session. Install the CHNOSZ package with:
+
+```r
+install.packages("CHNOSZ")
+```
+
+Once CHNOSZ is installed you may quit the R session.
+
+### Installing pyCHNOSZ
+
+Install pyCHNOSZ using pip:
+
+```
+$ pip install pyCHNOSZ
+```
+
+## Usage
+
+Import pyCHNOSZ in your python code with:
+```python
+import pyCHNOSZ
+```
+
+In the following examples, pyCHNOSZ functions are imported with:
+```python
+from pyCHNOSZ import info, add_OBIGT, mod_OBIGT, reset, subcrt
+```
+
+### Search for chemical species
+
+The `info()` function can be used to look up chemical species by name or formula. If names or formulas are provided, database index integers are returned. A list of integers will look up chemical species by index and return a table of thermodynamic properties. See the `info()` function's [original documentation](https://chnosz.net/manual/info.html) to learn more about what this function can do. A few examples are shown below.
+
+Look up the database index value of Fe+2:
+
+```python
+info("Fe+2")
+```
+
+Look up multiple chemical species:
+
+```python
+info(["HCO3-", "CH4"])
+```
+
+Define chemical states:
+
+```python
+info(["HCO3-", "CH4"], state=["aq", "gas"])
+```
+
+Search species by index values to look up their thermodynamic parameters.
+
+```python
+info([13, 872])
+```
+
+Nest `info` functions to look up thermodynamic properties directly from names or formulas:
+
+```python
+info(info("Fe+2"))
+```
+
+Look up and add a protein to the database:
+
+```python
+info("LYSC_CHICK")
+```
+
+### Add or replace thermodynamic data in the database
+
+See the original R documentation for `add_OBIGT()` and `reset()` for basic useage. A few examples are given below.
+
+Load the SUPCRT92 database.
+
+```python
+a = add_OBIGT("SUPCRT92")
+```
+
+The variable `a` is assigned a list of integers corresponding to the indices of chemical species that are added or replaced in the OBIGT thermodynamic database used by pyCHNOSZ.
+
+It is possible to add a custom table of thermodynamic parameters.
+
+```python
+a = add_OBIGT("my_custom_entries.csv")
+info(a) # confirm new entries have been added
+```
+
+The entries of `my_custom_entries.csv` would then be available for thermodynamic calculations with `subcrt()`, for example.
+
+Reset thermodynamic database to its original configuration.
+
+```python
+reset()
+```
+
+Modify values in the thermodynamic database with `mod_OBIGT()`:
+
+```python
+mod_OBIGT("HCO3-", G = -140283.7, Cp = -9)
+info(info("HCO3-"))
+```
+
+### Calculate thermodynamic properties of reactions
+
+See the [original documentation](https://chnosz.net/manual/subcrt.html) for `subcrt()`. Useage in pyCHNOSZ is the same, except python lists are used in place of R's vectors. The function produces a dictionary of results stored in pandas dataframes. An example is shown below for the reaction H<sub>2 (aq)</sub> + 0.5 O<sub>2 (gas)</sub> = H<sub>2</sub>O<sub>(liq)</sub> at 30 and 50 degrees C and 100 bars pressure:
+
+```python
+subcrt(species=["H2", "O2", "H2O"], coeff=[-1.0, -0.5, 1.0],
+ state=["aq", "gas", "liq"], T=[30, 50], P=100)
+```
+
+Output is a python dictionary of dataframes:
+```
+subcrt: 3 species at 2 values of T (ºC) and P (bar) (wet) [energy units: cal]
+
+{'reaction': coeff name formula state ispecies
+ 62 -1.0 H2 H2 aq 62.0
+ 2612 -0.5 oxygen O2 gas 2612.0
+ 1 1.0 water H2O liq 1.0,
+ 'out': T P rho logK G H S \
+ 1 30.0 100 1.000017 43.855086 -60832.380282 -67420.887872 -21.89070
+ 2 50.0 100 0.992305 40.834419 -60379.262657 -67882.530994 -23.36663
+
+ V Cp
+ 1 -7.494052 -24.126268
+ 2 -8.259704 -20.941879 }
+```
+
+### More examples:
+
+For more examples, like plotting activity and predominance diagrams, check out the [pyCHNOSZ demo notebook](https://nbviewer.org/github/worm-portal/pyCHNOSZ/blob/master/test/pyCHNOSZ-demo.ipynb).
+
+
+
+
+%package help
+Summary: Development documents and examples for pyCHNOSZ
+Provides: python3-pyCHNOSZ-doc
+%description help
+# pyCHNOSZ
+
+Author: Dr. Grayson Boyer, GEOPIG Lab, Arizona State University
+
+[CHNOSZ](https://www.chnosz.net/) is a package written by [Dr. Jeff Dick](https://chnosz.net/jeff/) for performing thermodynamic calculations in aqueous geochemistry and biogeochemistry. pyCHNOSZ is a wrapper for CHNOSZ that allows these calculations to be carried out in Python 3 Jupyter notebooks.
+
+## Features
+
+The following CHNOSZ functions are supported in pyCHNOSZ:
+
+- [info](https://chnosz.net/manual/info.html) - Search for chemical species by name or formula and retrieve their thermodynamic parameters.
+- [add_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Add or overwrite species in the OBIGT thermodynamic database by supplying a comma separated value (csv) file with custom data.
+- [mod_OBIGT](https://chnosz.net/manual/add.OBIGT.html) - Modify species in the OBIGT thermodynamic database. Optionally, supply a Pandas dataframe containing custom data.
+- [reset](https://chnosz.net/manual/thermo.html) - reset data to default values.
+- [subcrt](https://chnosz.net/manual/subcrt.html) - Calculate standard state partial molal thermodynamic properties of reactions at elevated temperatures and pressures.
+- [basis](https://chnosz.net/manual/basis.html) - Define basis species of a chemical system.
+- [species](https://chnosz.net/manual/species.html) - Define the species of interest in a system.
+- [equilibrate](https://chnosz.net/manual/equilibrate.html) - Calculate equilibrium chemical activities of species from the affinities of formation of the species at unit activity.
+- [affinity](https://chnosz.net/manual/affinity.html) - Calculate the chemical affinities of formation reactions of species.
+- [diagram](https://chnosz.net/manual/diagram.html) - Plot equilibrium chemical activity (1-D speciation) or equal-activity (2-D predominance) diagrams as a function of chemical activities of basis species, temperature and/or pressure.
+
+
+## Requirements
+
+This package must be installed into an environment with an [R](https://www.r-project.org/) installation. See [these instructions](https://docs.anaconda.com/anaconda/user-guide/tasks/using-r-language/) for installing R with Anaconda. Additionally, the CHNOSZ package for R must be installed (see instructions below).
+
+## Installation
+
+### Installing CHNOSZ
+
+Open an R session. Install the CHNOSZ package with:
+
+```r
+install.packages("CHNOSZ")
+```
+
+Once CHNOSZ is installed you may quit the R session.
+
+### Installing pyCHNOSZ
+
+Install pyCHNOSZ using pip:
+
+```
+$ pip install pyCHNOSZ
+```
+
+## Usage
+
+Import pyCHNOSZ in your python code with:
+```python
+import pyCHNOSZ
+```
+
+In the following examples, pyCHNOSZ functions are imported with:
+```python
+from pyCHNOSZ import info, add_OBIGT, mod_OBIGT, reset, subcrt
+```
+
+### Search for chemical species
+
+The `info()` function can be used to look up chemical species by name or formula. If names or formulas are provided, database index integers are returned. A list of integers will look up chemical species by index and return a table of thermodynamic properties. See the `info()` function's [original documentation](https://chnosz.net/manual/info.html) to learn more about what this function can do. A few examples are shown below.
+
+Look up the database index value of Fe+2:
+
+```python
+info("Fe+2")
+```
+
+Look up multiple chemical species:
+
+```python
+info(["HCO3-", "CH4"])
+```
+
+Define chemical states:
+
+```python
+info(["HCO3-", "CH4"], state=["aq", "gas"])
+```
+
+Search species by index values to look up their thermodynamic parameters.
+
+```python
+info([13, 872])
+```
+
+Nest `info` functions to look up thermodynamic properties directly from names or formulas:
+
+```python
+info(info("Fe+2"))
+```
+
+Look up and add a protein to the database:
+
+```python
+info("LYSC_CHICK")
+```
+
+### Add or replace thermodynamic data in the database
+
+See the original R documentation for `add_OBIGT()` and `reset()` for basic useage. A few examples are given below.
+
+Load the SUPCRT92 database.
+
+```python
+a = add_OBIGT("SUPCRT92")
+```
+
+The variable `a` is assigned a list of integers corresponding to the indices of chemical species that are added or replaced in the OBIGT thermodynamic database used by pyCHNOSZ.
+
+It is possible to add a custom table of thermodynamic parameters.
+
+```python
+a = add_OBIGT("my_custom_entries.csv")
+info(a) # confirm new entries have been added
+```
+
+The entries of `my_custom_entries.csv` would then be available for thermodynamic calculations with `subcrt()`, for example.
+
+Reset thermodynamic database to its original configuration.
+
+```python
+reset()
+```
+
+Modify values in the thermodynamic database with `mod_OBIGT()`:
+
+```python
+mod_OBIGT("HCO3-", G = -140283.7, Cp = -9)
+info(info("HCO3-"))
+```
+
+### Calculate thermodynamic properties of reactions
+
+See the [original documentation](https://chnosz.net/manual/subcrt.html) for `subcrt()`. Useage in pyCHNOSZ is the same, except python lists are used in place of R's vectors. The function produces a dictionary of results stored in pandas dataframes. An example is shown below for the reaction H<sub>2 (aq)</sub> + 0.5 O<sub>2 (gas)</sub> = H<sub>2</sub>O<sub>(liq)</sub> at 30 and 50 degrees C and 100 bars pressure:
+
+```python
+subcrt(species=["H2", "O2", "H2O"], coeff=[-1.0, -0.5, 1.0],
+ state=["aq", "gas", "liq"], T=[30, 50], P=100)
+```
+
+Output is a python dictionary of dataframes:
+```
+subcrt: 3 species at 2 values of T (ºC) and P (bar) (wet) [energy units: cal]
+
+{'reaction': coeff name formula state ispecies
+ 62 -1.0 H2 H2 aq 62.0
+ 2612 -0.5 oxygen O2 gas 2612.0
+ 1 1.0 water H2O liq 1.0,
+ 'out': T P rho logK G H S \
+ 1 30.0 100 1.000017 43.855086 -60832.380282 -67420.887872 -21.89070
+ 2 50.0 100 0.992305 40.834419 -60379.262657 -67882.530994 -23.36663
+
+ V Cp
+ 1 -7.494052 -24.126268
+ 2 -8.259704 -20.941879 }
+```
+
+### More examples:
+
+For more examples, like plotting activity and predominance diagrams, check out the [pyCHNOSZ demo notebook](https://nbviewer.org/github/worm-portal/pyCHNOSZ/blob/master/test/pyCHNOSZ-demo.ipynb).
+
+
+
+
+%prep
+%autosetup -n pyCHNOSZ-0.8.12
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-pyCHNOSZ -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 0.8.12-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..ba269a6
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+1b5396e4ee18161b5eb13724d61e926d pyCHNOSZ-0.8.12.tar.gz