diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-py6s.spec | 162 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 164 insertions, 0 deletions
@@ -0,0 +1 @@ +/Py6S-1.9.2.tar.gz diff --git a/python-py6s.spec b/python-py6s.spec new file mode 100644 index 0000000..66717c6 --- /dev/null +++ b/python-py6s.spec @@ -0,0 +1,162 @@ +%global _empty_manifest_terminate_build 0 +Name: python-Py6S +Version: 1.9.2 +Release: 1 +Summary: A wrapper for the 6S Radiative Transfer Model to make it easy to run simulations with a variety of input parameters, and to produce outputs in an easily processable form. +License: GPL +URL: http://py6s.rtwilson.com/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6e/47/d1931df56bb48f6982574f56b8589c0c43291ce06baa1118dbb979d1d57d/Py6S-1.9.2.tar.gz +BuildArch: noarch + + +%description +Py6S is a Python interface to the 6S Radiative Transfer Model. It allows you to run many 6S simulations using a +simple Python syntax, rather than dealing with the rather cryptic 6S input and output files. As well as generally +making it easier to use 6S, Py6S adds some new features: +* The ability to run many simulations easily and quickly, with no manual editing of input files +* The ability to run for many wavelengths and/or angles and easily plot the results +* The ability to import real-world data to parameterise 6S, from radiosonde measurements and AERONET sun photometer measurements +Py6S has been designed to be easy to use, and to work on the 'principle of least surprise'. Far more details are available in the rest of +this documentation, but a quick code example should give you an idea of what Py6S can do:: + # Import the Py6S module + from Py6S import * + # Create a SixS object + s = SixS() + # Set the wavelength to 0.675um + s.wavelength = Wavelength(0.675) + # Set the aerosol profile to Maritime + s.aero_profile = AeroProfile.PredefinedType(AeroProfile.Maritime) + # Run the model + s.run() + # Print some outputs + print(s.outputs.pixel_reflectance, s.outputs.pixel_radiance, s.outputs.direct_solar_irradiance) + # Run the model across the VNIR wavelengths, and plot the result + wavelengths, results = SixSHelpers.Wavelengths.run_vnir(s, output_name='pixel_radiance') + SixSHelpers.Wavelengths.plot_wavelengths(wavelengths, results, "Pixel radiance ($W/m^2$)") +This will produce the results shown below:: + 0.283 112.095 667.589 +Followed by an image containing a graph showing the result for each wavelength. +To use Py6S you will also need to compile and install the 6S executable. Please follow the installation instructions in the `documentation <http://py6s.readthedocs.org>`_ to find out how to do this on Windows, OS X or Linux. +Py6S was described in a `journal article <https://py6s.readthedocs.org/en/latest/publications.html>`_ which should be referenced if Py6S is used for producing outputs for a scientific report/publication. +This project was written as part of my PhD at the University of Southampton. The code is open-source, +released under the LGPL license, and is available at `Github <http://github.com/robintw/py6s>`_. +I'm very interested in receiving feedback, bug reports and feature suggestions, so please email me at robin@rtwilson.com. + +%package -n python3-Py6S +Summary: A wrapper for the 6S Radiative Transfer Model to make it easy to run simulations with a variety of input parameters, and to produce outputs in an easily processable form. +Provides: python-Py6S +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-Py6S +Py6S is a Python interface to the 6S Radiative Transfer Model. It allows you to run many 6S simulations using a +simple Python syntax, rather than dealing with the rather cryptic 6S input and output files. As well as generally +making it easier to use 6S, Py6S adds some new features: +* The ability to run many simulations easily and quickly, with no manual editing of input files +* The ability to run for many wavelengths and/or angles and easily plot the results +* The ability to import real-world data to parameterise 6S, from radiosonde measurements and AERONET sun photometer measurements +Py6S has been designed to be easy to use, and to work on the 'principle of least surprise'. Far more details are available in the rest of +this documentation, but a quick code example should give you an idea of what Py6S can do:: + # Import the Py6S module + from Py6S import * + # Create a SixS object + s = SixS() + # Set the wavelength to 0.675um + s.wavelength = Wavelength(0.675) + # Set the aerosol profile to Maritime + s.aero_profile = AeroProfile.PredefinedType(AeroProfile.Maritime) + # Run the model + s.run() + # Print some outputs + print(s.outputs.pixel_reflectance, s.outputs.pixel_radiance, s.outputs.direct_solar_irradiance) + # Run the model across the VNIR wavelengths, and plot the result + wavelengths, results = SixSHelpers.Wavelengths.run_vnir(s, output_name='pixel_radiance') + SixSHelpers.Wavelengths.plot_wavelengths(wavelengths, results, "Pixel radiance ($W/m^2$)") +This will produce the results shown below:: + 0.283 112.095 667.589 +Followed by an image containing a graph showing the result for each wavelength. +To use Py6S you will also need to compile and install the 6S executable. Please follow the installation instructions in the `documentation <http://py6s.readthedocs.org>`_ to find out how to do this on Windows, OS X or Linux. +Py6S was described in a `journal article <https://py6s.readthedocs.org/en/latest/publications.html>`_ which should be referenced if Py6S is used for producing outputs for a scientific report/publication. +This project was written as part of my PhD at the University of Southampton. The code is open-source, +released under the LGPL license, and is available at `Github <http://github.com/robintw/py6s>`_. +I'm very interested in receiving feedback, bug reports and feature suggestions, so please email me at robin@rtwilson.com. + +%package help +Summary: Development documents and examples for Py6S +Provides: python3-Py6S-doc +%description help +Py6S is a Python interface to the 6S Radiative Transfer Model. It allows you to run many 6S simulations using a +simple Python syntax, rather than dealing with the rather cryptic 6S input and output files. As well as generally +making it easier to use 6S, Py6S adds some new features: +* The ability to run many simulations easily and quickly, with no manual editing of input files +* The ability to run for many wavelengths and/or angles and easily plot the results +* The ability to import real-world data to parameterise 6S, from radiosonde measurements and AERONET sun photometer measurements +Py6S has been designed to be easy to use, and to work on the 'principle of least surprise'. Far more details are available in the rest of +this documentation, but a quick code example should give you an idea of what Py6S can do:: + # Import the Py6S module + from Py6S import * + # Create a SixS object + s = SixS() + # Set the wavelength to 0.675um + s.wavelength = Wavelength(0.675) + # Set the aerosol profile to Maritime + s.aero_profile = AeroProfile.PredefinedType(AeroProfile.Maritime) + # Run the model + s.run() + # Print some outputs + print(s.outputs.pixel_reflectance, s.outputs.pixel_radiance, s.outputs.direct_solar_irradiance) + # Run the model across the VNIR wavelengths, and plot the result + wavelengths, results = SixSHelpers.Wavelengths.run_vnir(s, output_name='pixel_radiance') + SixSHelpers.Wavelengths.plot_wavelengths(wavelengths, results, "Pixel radiance ($W/m^2$)") +This will produce the results shown below:: + 0.283 112.095 667.589 +Followed by an image containing a graph showing the result for each wavelength. +To use Py6S you will also need to compile and install the 6S executable. Please follow the installation instructions in the `documentation <http://py6s.readthedocs.org>`_ to find out how to do this on Windows, OS X or Linux. +Py6S was described in a `journal article <https://py6s.readthedocs.org/en/latest/publications.html>`_ which should be referenced if Py6S is used for producing outputs for a scientific report/publication. +This project was written as part of my PhD at the University of Southampton. The code is open-source, +released under the LGPL license, and is available at `Github <http://github.com/robintw/py6s>`_. +I'm very interested in receiving feedback, bug reports and feature suggestions, so please email me at robin@rtwilson.com. + +%prep +%autosetup -n Py6S-1.9.2 + +%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-Py6S -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 29 2023 Python_Bot <Python_Bot@openeuler.org> - 1.9.2-1 +- Package Spec generated @@ -0,0 +1 @@ +6bf02f4d93c3e57aee0157174752c49d Py6S-1.9.2.tar.gz |