summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-py6s.spec162
-rw-r--r--sources1
3 files changed, 164 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..2b6addd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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
diff --git a/sources b/sources
new file mode 100644
index 0000000..83698a4
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+6bf02f4d93c3e57aee0157174752c49d Py6S-1.9.2.tar.gz