PROSPECT

Code copied and modified from https://github.com/jgomezdans/prosail/tree/2.0.0alpha

Used with written permission from the developers (personal communication)

Prospect

Little PROSPECT interface with some quality-of-life calls.

get_default_prospect_leaf()

Run PROSPECT with default parameters.

Returns:

Tuple (wls,r,t)

make_leaf_target(slab_sim_name, signal_id=0, n=None, ab=None, ar=None, brown=None, w=None, m=None, ant=None)

Run prospect simulation with given PROSPECT parameters.

If any of the values are not provided, default values are used. You get the default PROSPECT leaf by calling without any arguments.

Parameters:
  • slab_sim_name – See slab_sim_name.

  • signal_id – Signal id for this target. Default is 0. Overwrites existing targets if existing id is given.

  • n – PROSPECT N parameter [unitless]

  • ab – chlorophyll a + b concentration [ug / cm^2]

  • ar – cartenoid content [ug / cm^2]

  • brown – brown pigment [unitless]

  • w – equivalent water thickness [cm]

  • m – dry mater content [g / cm^2]

  • ant – anthocyanin content [ug / cm^2]

Returns:

Tuple (wls, r, t) and writes the target to the disk.

make_random_leaf_targets(slab_sim_name, count=1)

Generate count number of random PROSPECT leaves.

Parameters:
  • slab_sim_name – The desired name for the slab simulation.

  • count – Number of leaves that will be generated.

p_default_dict = {'ab': 32.0, 'ant': 0.0, 'ar': 8.0, 'brown': 0.0, 'm': 0.009, 'n': 1.5, 'w': 0.016}

Default PROSPECT parameters. These are used for generating random leaves.

p_dict_to_hash(p_dict)

Turn PROSPECT parameter dictionary into a hash-kind of string.

Can be used for naming files.

p_range_dict = {'ab_range': (0.0, 80.0), 'ant_range': (0.0, 40.0), 'ar_range': (0.0, 20.0), 'brown_range': (0.0, 1.0), 'm_range': (0.0, 0.02), 'n_range': (0.8, 2.5), 'w_range': (0.0, 0.05)}

Clipping range for PROSPECT parameters. Used in when generating random leaves.

prospect_params_as_dict(n, ab, ar, brown, w, m, ant)

Turn set of PROSPECT parameters into a dictionary.

Parameters:
  • n – PROSPECT N parameter [unitless]

  • ab – chlorophyll a + b concentration [ug / cm^2]

  • ar – cartenoid content [ug / cm^2]

  • brown – brown pigment [unitless]

  • w – equivalent water thickness [cm]

  • m – dry mater content [g / cm^2]

  • ant – anthocyanin content [ug / cm^2]

Returns:

Dictionary with same key names as in parameters.

run_prospect_random()

Run PROSPECT with random parameters.

PROSPECT parameters are randomly drawn from normal distribution centered at default PRSOPECT leaf parameters.

Returns:

(wls, r, t, p_dict), where p_dict is a dictionary of used random PROSPECT parameters.

run_prospect_with_dict(prospect_params: dict)

Run PROSPECT simulation with a parameter dictionary.

You can get the dictionary by calling prospect_params_as_dict() with desired parameter values.

Parameters:

prospect_params – Dictionary of PROSPECT parameters as returned by prospect.interface.prospect_params_as_dict().

Returns:

Tuple (wls,r,t)

Prospect d

The PROSPECT leaf optical properties model Versions 5 and D

calctav(alpha, nr)
prospect_d(N, cab, car, cbrown, cw, cm, ant, nr, kab, kcar, kbrown, kw, km, kant, alpha=40.0)
refl_trans_one_layer(alpha, nr, tau)
run_prospect(n, cab, car, cbrown, cw, cm, ant=0.0, nr=None, kab=None, kcar=None, kbrown=None, kw=None, km=None, kant=None, alpha=40.0)

The PROSPECT model, versions 5 and D

Spectral library

Spectral libraries for PROSPECT + SAIL

class LightSpectra(es, ed)
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('es', 'ed')
classmethod _make(iterable)

Make a new LightSpectra object from a sequence or iterable

_replace(**kwds)

Return a new LightSpectra object replacing specified fields with new values

ed

Alias for field number 1

es

Alias for field number 0

class Prospect5Spectra(nr, kab, kcar, kbrown, kw, km)
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('nr', 'kab', 'kcar', 'kbrown', 'kw', 'km')
classmethod _make(iterable)

Make a new Prospect5Spectra object from a sequence or iterable

_replace(**kwds)

Return a new Prospect5Spectra object replacing specified fields with new values

kab

Alias for field number 1

kbrown

Alias for field number 3

kcar

Alias for field number 2

km

Alias for field number 5

kw

Alias for field number 4

nr

Alias for field number 0

class ProspectDSpectra(nr, kab, kcar, kbrown, kw, km, kant)
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('nr', 'kab', 'kcar', 'kbrown', 'kw', 'km', 'kant')
classmethod _make(iterable)

Make a new ProspectDSpectra object from a sequence or iterable

_replace(**kwds)

Return a new ProspectDSpectra object replacing specified fields with new values

kab

Alias for field number 1

kant

Alias for field number 6

kbrown

Alias for field number 3

kcar

Alias for field number 2

km

Alias for field number 5

kw

Alias for field number 4

nr

Alias for field number 0

class SoilSpectra(rsoil1, rsoil2)
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('rsoil1', 'rsoil2')
classmethod _make(iterable)

Make a new SoilSpectra object from a sequence or iterable

_replace(**kwds)

Return a new SoilSpectra object replacing specified fields with new values

rsoil1

Alias for field number 0

rsoil2

Alias for field number 1

class Spectra(prospect5, prospectd, soil, light)
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('prospect5', 'prospectd', 'soil', 'light')
classmethod _make(iterable)

Make a new Spectra object from a sequence or iterable

_replace(**kwds)

Return a new Spectra object replacing specified fields with new values

light

Alias for field number 3

prospect5

Alias for field number 0

prospectd

Alias for field number 1

soil

Alias for field number 2

get_spectra()

Reads the spectral information and stores is for future use.