py6s

A Python interface to the 6S Radiative Transfer Model

https://github.com/robintw/py6s

Science Score: 41.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    2 of 17 committers (11.8%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary

Keywords

atmosphere python radiative-transfer remote-sensing satellite science
Last synced: 6 months ago · JSON representation ·

Repository

A Python interface to the 6S Radiative Transfer Model

Basic Info
  • Host: GitHub
  • Owner: robintw
  • License: lgpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 1.36 MB
Statistics
  • Stars: 210
  • Watchers: 23
  • Forks: 111
  • Open Issues: 17
  • Releases: 0
Topics
atmosphere python radiative-transfer remote-sensing satellite science
Created over 13 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.rst

.. image:: https://travis-ci.org/robintw/Py6S.svg?branch=master
    :target: https://travis-ci.org/robintw/Py6S
.. image:: https://coveralls.io/repos/github/robintw/Py6S/badge.svg
    :target: https://coveralls.io/github/robintw/Py6S

Introduction 
-------------
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 `_ to find out how to do this on Windows, OS X or Linux.

Py6S was described in a `journal article `_ 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 `_.

I'm very interested in receiving feedback, bug reports and feature suggestions, so please email me at robin@rtwilson.com.

Owner

  • Name: Robin Wilson
  • Login: robintw
  • Kind: user
  • Location: Southampton, UK
  • Company: Freelance

Freelance data scientist and Python programmer, with particular expertise in geographic data and satellite images. Former academic.

Citation (CITATION)

If you use Py6S in any academic work then you *must* cite the following paper:

Wilson, R. T., 2012, Py6S: A Python interface to the 6S radiative transfer model, Computers and Geosciences, 51, p166-171

The PDF of this paper is available at http://rtwilson.com/academic/Wilson_2012_Py6S_Paper.pdf


In BibTeX format:

@article{Wilson2013166,
title = "Py6S: A Python interface to the 6S radiative transfer model ",
journal = "Computers & Geosciences ",
volume = "51",
pages = "166 - 171",
year = "2013",
doi = "http://dx.doi.org/10.1016/j.cageo.2012.08.002",
url = "http://www.sciencedirect.com/science/article/pii/S0098300412002798",
author = "R.T. Wilson"
}

GitHub Events

Total
  • Issues event: 2
  • Watch event: 18
  • Issue comment event: 2
  • Fork event: 4
Last Year
  • Issues event: 2
  • Watch event: 18
  • Issue comment event: 2
  • Fork event: 4

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 596
  • Total Committers: 17
  • Avg Commits per committer: 35.059
  • Development Distribution Score (DDS): 0.081
Past Year
  • Commits: 5
  • Committers: 2
  • Avg Commits per committer: 2.5
  • Development Distribution Score (DDS): 0.2
Top Committers
Name Email Commits
Robin Wilson r****n@r****m 548
MarcYin m****o@g****m 8
Daniel Clewley d****y@g****m 6
Laurent Wandrebeck lw@h****m 6
Oliver Lopez o****z@k****a 4
Jose Gomez-Dans j****s@g****m 4
Pete Bunting p****g@m****m 4
David Welch d****h@g****m 3
Matthew Hanson m****n@a****m 3
XQiao 1****7@q****m 2
Panos Mavrogiorgos p****9@g****m 2
Blottiere Paul b****l@g****m 1
Francisco Nemiña f****a@g****m 1
David Welch (****) 1
Simon Proud s****d@p****k 1
marujore r****o@g****m 1
vincentschut s****t@s****l 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 59
  • Total pull requests: 53
  • Average time to close issues: 5 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 43
  • Total pull request authors: 24
  • Average comments per issue: 2.51
  • Average comments per pull request: 1.7
  • Merged pull requests: 38
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 1
  • Average time to close issues: 4 minutes
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • robintw (9)
  • lwk1542 (5)
  • vincentschut (3)
  • samsammurphy (2)
  • csarantos-ceres (2)
  • drzhouq (1)
  • josselin-aval (1)
  • jmettes (1)
  • sgxl (1)
  • dorbodwolf (1)
  • soypat (1)
  • qq2898 (1)
  • simonrp84 (1)
  • jimoreira (1)
  • pblottiere (1)
Pull Request Authors
  • robintw (15)
  • MarcYin (6)
  • lwandrebeck (3)
  • matthewhanson (3)
  • jgomezdans (3)
  • samsammurphy (2)
  • dmwelch (2)
  • petebunting (2)
  • fengqiaogit (2)
  • andrzejbartoszek (2)
  • fengqiaogh (2)
  • fnemina (1)
  • marujore (1)
  • danclewley (1)
  • pbowyer (1)
Top Labels
Issue Labels
enhancement (3)
Pull Request Labels

Packages

  • Total packages: 4
  • Total downloads:
    • pypi 1,506 last-month
  • Total dependent packages: 5
    (may contain duplicates)
  • Total dependent repositories: 5
    (may contain duplicates)
  • Total versions: 59
  • Total maintainers: 1
proxy.golang.org: github.com/robintw/py6s
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/robintw/Py6S
  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
pypi.org: py6s

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.

  • Versions: 30
  • Dependent Packages: 3
  • Dependent Repositories: 2
  • Downloads: 1,506 Last month
Rankings
Dependent packages count: 4.7%
Downloads: 6.7%
Average: 7.7%
Dependent repos count: 11.6%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: py6s

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.

  • Versions: 9
  • Dependent Packages: 2
  • Dependent Repositories: 3
Rankings
Dependent repos count: 17.9%
Forks count: 18.4%
Dependent packages count: 19.6%
Average: 21.2%
Stargazers count: 29.1%
Last synced: 6 months ago

Dependencies

doc/requirements.txt pypi
  • numpy *
  • pysolar >=0.9
  • scipy *
.github/workflows/test-py6s-conda-install-scheduled.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/test-py6s.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v1 composite
  • conda-incubator/setup-miniconda v2 composite
setup.py pypi