LightClass Module



Interfaces

public interface to_ppfd

  • public function to_ppfd_from_spectrum(spectrum, ppfd_spectrum) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: spectrum(:)
    real(kind=real64), intent(inout), optional, allocatable :: ppfd_spectrum(:)

    Return Value real(kind=real64)


Derived Types

type, public ::  Light_

Components

Type Visibility Attributes Name Initial
character(len=200), public :: lighttype = "sun"
real(kind=real64), public :: position(3)
real(kind=real64), public :: maxPPFD
real(kind=real64), public :: angles(1:2) = [180.0d0, 90.0d0]
real(kind=real64), public :: spectrum(2048)
type(Earth_), public, pointer :: earth
type(FEMDomain_), public :: femdomain

Type-Bound Procedures

procedure, public :: init => initLight
procedure, public :: turnOff => turnOffLight
procedure, public, pass :: addSpectrumLight
procedure, public, pass :: addSpectrum_by_single_Light
generic, public :: addSpectrum => addSpectrumLight, addSpectrum_by_single_Light
procedure, public :: to_RGB => to_RGB_LightClass
procedure, public :: setSunLight => setSunLightLight
procedure, public :: updateSunLight => updateSunLightLight

Functions

public function ASTM_G_173_03_ISO_9845_1_1992(Global, Direct, AM0) result(ret)

Arguments

Type IntentOptional Attributes Name
logical, intent(in), optional :: Global
logical, intent(in), optional :: Direct
logical, intent(in), optional :: AM0

Return Value real(kind=real64), allocatable, (:)

public function to_ppfd_from_spectrum(spectrum, ppfd_spectrum) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: spectrum(:)
real(kind=real64), intent(inout), optional, allocatable :: ppfd_spectrum(:)

Return Value real(kind=real64)

public function gaussian_function(x, mu, sigma1, sigma2) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: x
real(kind=real64), intent(in) :: mu
real(kind=real64), intent(in) :: sigma1
real(kind=real64), intent(in) :: sigma2

Return Value real(kind=real64)

public function to_RGB_LightClass(this) result(ret)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(in) :: this

Return Value real(kind=real64), (1:3)


Subroutines

public subroutine initLight(obj, config)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: obj
character(len=*), intent(in), optional :: config

public subroutine setSunLightLight(obj, earth)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: obj
type(Earth_), intent(in), optional, target :: earth

public subroutine updateSunLightLight(obj, Now, DateTime)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: obj
logical, intent(in), optional :: Now
integer(kind=int32), intent(in), optional :: DateTime(6)

public subroutine turnOffLight(this)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: this

public subroutine addSpectrumLight(this, filename)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: this
character(len=*), intent(in) :: filename

public subroutine addSpectrum_by_single_Light(this, wavelength, peak_radiation, sigma)

Arguments

Type IntentOptional Attributes Name
class(Light_), intent(inout) :: this
real(kind=real64), intent(in) :: wavelength
real(kind=real64), intent(in) :: peak_radiation
real(kind=real64), intent(in) :: sigma