1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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.aliyun.com/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
* Thu Jun 08 2023 Python_Bot <Python_Bot@openeuler.org> - 1.9.2-1
- Package Spec generated
|