diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 12:43:28 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 12:43:28 +0000 |
commit | abe4e98bf361e4c766d9c2d0516752dd5540c34e (patch) | |
tree | 9b02f2ca4ab9143d915cd8de3700faf0cc366527 | |
parent | 82560e039768f477820a5538dcc322532f76924b (diff) |
automatic import of python-nexoclomopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-nexoclom.spec | 517 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 519 insertions, 0 deletions
@@ -0,0 +1 @@ +/nexoclom-3.5.1.tar.gz diff --git a/python-nexoclom.spec b/python-nexoclom.spec new file mode 100644 index 0000000..2bf599c --- /dev/null +++ b/python-nexoclom.spec @@ -0,0 +1,517 @@ +%global _empty_manifest_terminate_build 0 +Name: python-nexoclom +Version: 3.5.1 +Release: 1 +Summary: Neutral Exosphere and Cloud Model +License: BSD 3-Clause +URL: https://github.com/mburger-stsci/nexoclom +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f8/dd/ef11a39157ff2d86eede65f66c3a59c6a6da36a7f46668c8363c666afdfe/nexoclom-3.5.1.tar.gz +BuildArch: noarch + +Requires: python3-scipy +Requires: python3-numpy +Requires: python3-astropy +Requires: python3-pandas + +%description +### Documentation +https://nexoclom.readthedocs.io/en/latest/ (Reasonably complete and up to date). +[This part about writing inputfiles](https://nexoclom.readthedocs.io/en/latest/nexoclom/inputfiles.html) is particularly useful. +### Installation process +1. Install Anaconda Python (version >= 3.8): + 1. Download the installer from: + https://www.anaconda.com/distribution/ + 2. double-click the installer to install. This installs anaconda python in + $HOME/anaconda3 and does not need sysadmin privileges. + 3. Verify it works: Open a new terminal window and start `ipython`. You should +see something like this: +``` +(base) [sunra m🍔 /~/]$ ipython +Python 3.8.8 (default, Apr 13 2021, 12:59:45) +Type 'copyright', 'credits' or 'license' for more information +IPython 7.32.0 -- An enhanced Interactive Python. Type '?' for help. +In [1]: +``` +* NOTE: I think Anaconda python likes the bash shell, but there +are probably ways around that. +2. Create a new python environment with the model. + 1. Download the file [nexoclom_environment.yml](https://github.com/mburger-stsci/nexoclom/blob/master/nexoclom_environment.yml) + 2. In a text editor, update the last four lines + ``` + prefix: /user/mburger/anaconda3/envs/nexoclom/bin/python + variables: + PGDATA: /user/mburger/.postgres/main + NEXOCLOMCONFIG : /user/mburger/.nexoclom + ``` + For prefix, you want `$HOME/anaconda3/...`, but `$HOME` needs to be the + specific path. + 3. Create the envirnoment: + ``` + (base) [sunra m🍔 /~/]$ conda env create -f nexoclom_environment.yml + ``` + 4. To use this environment run: + ``` + (base) [sunra m🍔 /~/]$ conda activate nexoclom + WARNING: overwriting environment variables set in the machine + overwriting variable PGDATA + ``` + Activating nexoclom sets the environment variables `PGDATA` and + `NEXOCLOMCONFIG` + None of this will work if the correct environment is not active. You will +know it's active because your prompt will change and `python` will point to a +different executable: + ``` + (nexoclom) [sunra m🍔 /~/]$ which python + /Users/mburger/anaconda/envs/nexoclom/bin/python + ``` + 6. To turn it off run: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda deactivate + ``` +3. Create the .nexoclom file + 1. In your home directory create a file called `.nexoclom` with the + following lines: + ``` + savepath = <fullpath>/modeloutputs + datapath = <fullpath>/ModelData + database = thesolarsystemmb + mesdatapath = <fullpath>/UVVSData + mesdatabase = messengeruvvsdb + ``` +`<fullpath>` does not need to be the same in all lines, but the directories all +need to be valid. +4. Initialize the postgres server if necessary: + 1. In your `.bashrc` or `.bash_profile` file (the file that runs when you + start a terminal window) add the line: + ``` + export PGDATA=/Users/mburger/.postgres/main + ``` + (This step technically isn't needed because the environment variable gets + set when you activate the environment). + 2. Execute the following commands + ``` + (nexoclom) [sunra m🍔 /~/]$ initdb -D $PGDATA + (nexoclom) [sunra m🍔 /~/]$ pg_ctl -l $PGDATA/logfile start + (nexoclom) [sunra m🍔 /~/]$ createdb <username> + (nexoclom) [sunra m🍔 /~/]$ createdb thesolarsystemmb + (nexoclom) [sunra m🍔 /~/]$ createdb messengeruvvsdb + ``` + * Find `<username>` with + ```(nexoclom) [sunra m🍔 /~/]$ echo $USER``` + * This needs to match database in the `.nexoclom` file + * This needs to match mesdatabase in the `.nexoclom` file +5. Configure the MESSENGER UVVS database if you will be making comparisons to + MASCS/UVVS data. Unfortunately, the data products being used here are not + publicly available (I don't own this data reduction). UVVS data is available + from the [Planetary Data System](https://atmos.nmsu.edu/data_and_services/atmospheres_data/MESSENGER/messenger.html), but it would + take some work to get it integrated into the database. We could probably work + something out if you want to compare with the data. + 1. Download the MESSENGERdata package if you're authorized (email + [Matthew Burger](mailto:mburger@stsci.edu)) + 2. Put the file in the `mesdatapath` directory and untar it. + ``` + (nexoclom) [sunra m🍔 /~/]$ tar -xvzf Level1.tar.gz + ``` + 3. Then run: + ``` + (nexoclom) [sunra m🍔 /~/]$ ipython + Python 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:06:49) + Type 'copyright', 'credits' or 'license' for more information + IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help. + In [1]: from MESSENGERuvvs import initialize_MESSENGERdata + In [2]: initialize_MESSENGERdata() + ``` + This will take a while to run (hours probably). +6. To install updates, run: + ``` + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade nexoclom + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade MESSENGERuvvs + ``` + or to update everything: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda env update -f nexoclom_environment.yml + ``` +7. There are some test files at https://github.com/mburger-stsci/nexoclom/tree/master/test_files/. Download them to any + working directory. Edit the `model_testing.py` so that *inputfile* points to + directory with the `Ca.isotropic.flat.input`. Then do: + ``` + (nexoclom) [sunra m🍔 /~/]$ python model_testing.py + ``` + This should produce something that looks like https://www.stsci.edu/~mburger/nexoclom/Ca_Oribt3576_nexoclom.html +### Contributing +We love contributions! nexoclom is open source, +built on open source, and we'd love to have you hang out in our community. +**Imposter syndrome disclaimer**: We want your help. No, really. +There may be a little voice inside your head that is telling you that you're not +ready to be an open source contributor; that your skills aren't nearly good +enough to contribute. What could you possibly offer a project like this one? +We assure you - the little voice in your head is wrong. If you can write code at +all, you can contribute code to open source. Contributing to open source +projects is a fantastic way to advance one's coding skills. Writing perfect code +isn't the measure of a good developer (that would disqualify all of us!); it's +trying to create something, making mistakes, and learning from those +mistakes. That's how we all improve, and we are happy to help others learn. +Being an open source contributor doesn't just mean writing code, either. You can +help out by writing documentation, tests, or even giving feedback about the +project (and yes - that includes giving feedback about the contribution +process). Some of these contributions may be the most valuable to the project as +a whole, because you're coming to the project with fresh eyes, so you can see +the errors and assumptions that seasoned contributors have glossed over. +Note: This disclaimer was originally written by +[Adrienne Lowe](https://github.com/adriennefriend) for a +[PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by +nexoclom based on its use in the README file for the +[MetPy project](https://github.com/Unidata/MetPy>). + +%package -n python3-nexoclom +Summary: Neutral Exosphere and Cloud Model +Provides: python-nexoclom +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-nexoclom +### Documentation +https://nexoclom.readthedocs.io/en/latest/ (Reasonably complete and up to date). +[This part about writing inputfiles](https://nexoclom.readthedocs.io/en/latest/nexoclom/inputfiles.html) is particularly useful. +### Installation process +1. Install Anaconda Python (version >= 3.8): + 1. Download the installer from: + https://www.anaconda.com/distribution/ + 2. double-click the installer to install. This installs anaconda python in + $HOME/anaconda3 and does not need sysadmin privileges. + 3. Verify it works: Open a new terminal window and start `ipython`. You should +see something like this: +``` +(base) [sunra m🍔 /~/]$ ipython +Python 3.8.8 (default, Apr 13 2021, 12:59:45) +Type 'copyright', 'credits' or 'license' for more information +IPython 7.32.0 -- An enhanced Interactive Python. Type '?' for help. +In [1]: +``` +* NOTE: I think Anaconda python likes the bash shell, but there +are probably ways around that. +2. Create a new python environment with the model. + 1. Download the file [nexoclom_environment.yml](https://github.com/mburger-stsci/nexoclom/blob/master/nexoclom_environment.yml) + 2. In a text editor, update the last four lines + ``` + prefix: /user/mburger/anaconda3/envs/nexoclom/bin/python + variables: + PGDATA: /user/mburger/.postgres/main + NEXOCLOMCONFIG : /user/mburger/.nexoclom + ``` + For prefix, you want `$HOME/anaconda3/...`, but `$HOME` needs to be the + specific path. + 3. Create the envirnoment: + ``` + (base) [sunra m🍔 /~/]$ conda env create -f nexoclom_environment.yml + ``` + 4. To use this environment run: + ``` + (base) [sunra m🍔 /~/]$ conda activate nexoclom + WARNING: overwriting environment variables set in the machine + overwriting variable PGDATA + ``` + Activating nexoclom sets the environment variables `PGDATA` and + `NEXOCLOMCONFIG` + None of this will work if the correct environment is not active. You will +know it's active because your prompt will change and `python` will point to a +different executable: + ``` + (nexoclom) [sunra m🍔 /~/]$ which python + /Users/mburger/anaconda/envs/nexoclom/bin/python + ``` + 6. To turn it off run: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda deactivate + ``` +3. Create the .nexoclom file + 1. In your home directory create a file called `.nexoclom` with the + following lines: + ``` + savepath = <fullpath>/modeloutputs + datapath = <fullpath>/ModelData + database = thesolarsystemmb + mesdatapath = <fullpath>/UVVSData + mesdatabase = messengeruvvsdb + ``` +`<fullpath>` does not need to be the same in all lines, but the directories all +need to be valid. +4. Initialize the postgres server if necessary: + 1. In your `.bashrc` or `.bash_profile` file (the file that runs when you + start a terminal window) add the line: + ``` + export PGDATA=/Users/mburger/.postgres/main + ``` + (This step technically isn't needed because the environment variable gets + set when you activate the environment). + 2. Execute the following commands + ``` + (nexoclom) [sunra m🍔 /~/]$ initdb -D $PGDATA + (nexoclom) [sunra m🍔 /~/]$ pg_ctl -l $PGDATA/logfile start + (nexoclom) [sunra m🍔 /~/]$ createdb <username> + (nexoclom) [sunra m🍔 /~/]$ createdb thesolarsystemmb + (nexoclom) [sunra m🍔 /~/]$ createdb messengeruvvsdb + ``` + * Find `<username>` with + ```(nexoclom) [sunra m🍔 /~/]$ echo $USER``` + * This needs to match database in the `.nexoclom` file + * This needs to match mesdatabase in the `.nexoclom` file +5. Configure the MESSENGER UVVS database if you will be making comparisons to + MASCS/UVVS data. Unfortunately, the data products being used here are not + publicly available (I don't own this data reduction). UVVS data is available + from the [Planetary Data System](https://atmos.nmsu.edu/data_and_services/atmospheres_data/MESSENGER/messenger.html), but it would + take some work to get it integrated into the database. We could probably work + something out if you want to compare with the data. + 1. Download the MESSENGERdata package if you're authorized (email + [Matthew Burger](mailto:mburger@stsci.edu)) + 2. Put the file in the `mesdatapath` directory and untar it. + ``` + (nexoclom) [sunra m🍔 /~/]$ tar -xvzf Level1.tar.gz + ``` + 3. Then run: + ``` + (nexoclom) [sunra m🍔 /~/]$ ipython + Python 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:06:49) + Type 'copyright', 'credits' or 'license' for more information + IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help. + In [1]: from MESSENGERuvvs import initialize_MESSENGERdata + In [2]: initialize_MESSENGERdata() + ``` + This will take a while to run (hours probably). +6. To install updates, run: + ``` + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade nexoclom + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade MESSENGERuvvs + ``` + or to update everything: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda env update -f nexoclom_environment.yml + ``` +7. There are some test files at https://github.com/mburger-stsci/nexoclom/tree/master/test_files/. Download them to any + working directory. Edit the `model_testing.py` so that *inputfile* points to + directory with the `Ca.isotropic.flat.input`. Then do: + ``` + (nexoclom) [sunra m🍔 /~/]$ python model_testing.py + ``` + This should produce something that looks like https://www.stsci.edu/~mburger/nexoclom/Ca_Oribt3576_nexoclom.html +### Contributing +We love contributions! nexoclom is open source, +built on open source, and we'd love to have you hang out in our community. +**Imposter syndrome disclaimer**: We want your help. No, really. +There may be a little voice inside your head that is telling you that you're not +ready to be an open source contributor; that your skills aren't nearly good +enough to contribute. What could you possibly offer a project like this one? +We assure you - the little voice in your head is wrong. If you can write code at +all, you can contribute code to open source. Contributing to open source +projects is a fantastic way to advance one's coding skills. Writing perfect code +isn't the measure of a good developer (that would disqualify all of us!); it's +trying to create something, making mistakes, and learning from those +mistakes. That's how we all improve, and we are happy to help others learn. +Being an open source contributor doesn't just mean writing code, either. You can +help out by writing documentation, tests, or even giving feedback about the +project (and yes - that includes giving feedback about the contribution +process). Some of these contributions may be the most valuable to the project as +a whole, because you're coming to the project with fresh eyes, so you can see +the errors and assumptions that seasoned contributors have glossed over. +Note: This disclaimer was originally written by +[Adrienne Lowe](https://github.com/adriennefriend) for a +[PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by +nexoclom based on its use in the README file for the +[MetPy project](https://github.com/Unidata/MetPy>). + +%package help +Summary: Development documents and examples for nexoclom +Provides: python3-nexoclom-doc +%description help +### Documentation +https://nexoclom.readthedocs.io/en/latest/ (Reasonably complete and up to date). +[This part about writing inputfiles](https://nexoclom.readthedocs.io/en/latest/nexoclom/inputfiles.html) is particularly useful. +### Installation process +1. Install Anaconda Python (version >= 3.8): + 1. Download the installer from: + https://www.anaconda.com/distribution/ + 2. double-click the installer to install. This installs anaconda python in + $HOME/anaconda3 and does not need sysadmin privileges. + 3. Verify it works: Open a new terminal window and start `ipython`. You should +see something like this: +``` +(base) [sunra m🍔 /~/]$ ipython +Python 3.8.8 (default, Apr 13 2021, 12:59:45) +Type 'copyright', 'credits' or 'license' for more information +IPython 7.32.0 -- An enhanced Interactive Python. Type '?' for help. +In [1]: +``` +* NOTE: I think Anaconda python likes the bash shell, but there +are probably ways around that. +2. Create a new python environment with the model. + 1. Download the file [nexoclom_environment.yml](https://github.com/mburger-stsci/nexoclom/blob/master/nexoclom_environment.yml) + 2. In a text editor, update the last four lines + ``` + prefix: /user/mburger/anaconda3/envs/nexoclom/bin/python + variables: + PGDATA: /user/mburger/.postgres/main + NEXOCLOMCONFIG : /user/mburger/.nexoclom + ``` + For prefix, you want `$HOME/anaconda3/...`, but `$HOME` needs to be the + specific path. + 3. Create the envirnoment: + ``` + (base) [sunra m🍔 /~/]$ conda env create -f nexoclom_environment.yml + ``` + 4. To use this environment run: + ``` + (base) [sunra m🍔 /~/]$ conda activate nexoclom + WARNING: overwriting environment variables set in the machine + overwriting variable PGDATA + ``` + Activating nexoclom sets the environment variables `PGDATA` and + `NEXOCLOMCONFIG` + None of this will work if the correct environment is not active. You will +know it's active because your prompt will change and `python` will point to a +different executable: + ``` + (nexoclom) [sunra m🍔 /~/]$ which python + /Users/mburger/anaconda/envs/nexoclom/bin/python + ``` + 6. To turn it off run: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda deactivate + ``` +3. Create the .nexoclom file + 1. In your home directory create a file called `.nexoclom` with the + following lines: + ``` + savepath = <fullpath>/modeloutputs + datapath = <fullpath>/ModelData + database = thesolarsystemmb + mesdatapath = <fullpath>/UVVSData + mesdatabase = messengeruvvsdb + ``` +`<fullpath>` does not need to be the same in all lines, but the directories all +need to be valid. +4. Initialize the postgres server if necessary: + 1. In your `.bashrc` or `.bash_profile` file (the file that runs when you + start a terminal window) add the line: + ``` + export PGDATA=/Users/mburger/.postgres/main + ``` + (This step technically isn't needed because the environment variable gets + set when you activate the environment). + 2. Execute the following commands + ``` + (nexoclom) [sunra m🍔 /~/]$ initdb -D $PGDATA + (nexoclom) [sunra m🍔 /~/]$ pg_ctl -l $PGDATA/logfile start + (nexoclom) [sunra m🍔 /~/]$ createdb <username> + (nexoclom) [sunra m🍔 /~/]$ createdb thesolarsystemmb + (nexoclom) [sunra m🍔 /~/]$ createdb messengeruvvsdb + ``` + * Find `<username>` with + ```(nexoclom) [sunra m🍔 /~/]$ echo $USER``` + * This needs to match database in the `.nexoclom` file + * This needs to match mesdatabase in the `.nexoclom` file +5. Configure the MESSENGER UVVS database if you will be making comparisons to + MASCS/UVVS data. Unfortunately, the data products being used here are not + publicly available (I don't own this data reduction). UVVS data is available + from the [Planetary Data System](https://atmos.nmsu.edu/data_and_services/atmospheres_data/MESSENGER/messenger.html), but it would + take some work to get it integrated into the database. We could probably work + something out if you want to compare with the data. + 1. Download the MESSENGERdata package if you're authorized (email + [Matthew Burger](mailto:mburger@stsci.edu)) + 2. Put the file in the `mesdatapath` directory and untar it. + ``` + (nexoclom) [sunra m🍔 /~/]$ tar -xvzf Level1.tar.gz + ``` + 3. Then run: + ``` + (nexoclom) [sunra m🍔 /~/]$ ipython + Python 3.8.13 | packaged by conda-forge | (default, Mar 25 2022, 06:06:49) + Type 'copyright', 'credits' or 'license' for more information + IPython 8.2.0 -- An enhanced Interactive Python. Type '?' for help. + In [1]: from MESSENGERuvvs import initialize_MESSENGERdata + In [2]: initialize_MESSENGERdata() + ``` + This will take a while to run (hours probably). +6. To install updates, run: + ``` + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade nexoclom + (nexoclom) [sunra m🍔 /~/]$ pip install --upgrade MESSENGERuvvs + ``` + or to update everything: + ``` + (nexoclom) [sunra m🍔 /~/]$ conda env update -f nexoclom_environment.yml + ``` +7. There are some test files at https://github.com/mburger-stsci/nexoclom/tree/master/test_files/. Download them to any + working directory. Edit the `model_testing.py` so that *inputfile* points to + directory with the `Ca.isotropic.flat.input`. Then do: + ``` + (nexoclom) [sunra m🍔 /~/]$ python model_testing.py + ``` + This should produce something that looks like https://www.stsci.edu/~mburger/nexoclom/Ca_Oribt3576_nexoclom.html +### Contributing +We love contributions! nexoclom is open source, +built on open source, and we'd love to have you hang out in our community. +**Imposter syndrome disclaimer**: We want your help. No, really. +There may be a little voice inside your head that is telling you that you're not +ready to be an open source contributor; that your skills aren't nearly good +enough to contribute. What could you possibly offer a project like this one? +We assure you - the little voice in your head is wrong. If you can write code at +all, you can contribute code to open source. Contributing to open source +projects is a fantastic way to advance one's coding skills. Writing perfect code +isn't the measure of a good developer (that would disqualify all of us!); it's +trying to create something, making mistakes, and learning from those +mistakes. That's how we all improve, and we are happy to help others learn. +Being an open source contributor doesn't just mean writing code, either. You can +help out by writing documentation, tests, or even giving feedback about the +project (and yes - that includes giving feedback about the contribution +process). Some of these contributions may be the most valuable to the project as +a whole, because you're coming to the project with fresh eyes, so you can see +the errors and assumptions that seasoned contributors have glossed over. +Note: This disclaimer was originally written by +[Adrienne Lowe](https://github.com/adriennefriend) for a +[PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by +nexoclom based on its use in the README file for the +[MetPy project](https://github.com/Unidata/MetPy>). + +%prep +%autosetup -n nexoclom-3.5.1 + +%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-nexoclom -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 3.5.1-1 +- Package Spec generated @@ -0,0 +1 @@ +2c99252c2f95e75c3d3499676ea88711 nexoclom-3.5.1.tar.gz |