Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(spectral), | intent(inout) | :: | this | |||
real(kind=wp), | intent(out) | :: | wavelength |
subroutine updateSpectral(this, wavelength) implicit none class(spectral), intent(inout) :: this real(kind=wp), intent(out) :: wavelength real(kind=wp) :: tmp !get wavelength call this%flux%sample(wavelength, tmp) !update mus call this%mus_a%sample(this%mus, tmp, wavelength) !update mua call this%mua_a%sample(this%mua, tmp, wavelength) !update hgg call this%hgg_a%sample(this%hgg, tmp, wavelength) this%g2 = this%hgg**2 !update n call this%n_a%sample(this%n, tmp, wavelength) !update kappa and albedo this%kappa = this%mus + this%mua this%albedo = this%mus / this%kappa end subroutine updateSpectral