sw_solver_2stream Subroutine

public subroutine sw_solver_2stream(ncol, nlay, ngpt, top_at_1, tau, ssa, g, mu0, sfc_alb_dir, sfc_alb_dif, inc_flux_dir, flux_up, flux_dn, flux_dir, has_dif_bc, inc_flux_dif, do_broadband, broadband_up, broadband_dn, broadband_dir) bind(C, name="0")

Shortwave two-stream calculation: compute layer reflectance, transmittance compute solar source function for diffuse radiation transport

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol

Number of columns, layers, g-points

integer, intent(in) :: nlay

Number of columns, layers, g-points

integer, intent(in) :: ngpt

Number of columns, layers, g-points

logical(kind=wl), intent(in) :: top_at_1

ilay = 1 is the top of the atmosphere?

real(kind=wp), intent(in), dimension(ncol,nlay, ngpt):: tau

Optical thickness, single-scattering albedo, asymmetry parameter []

real(kind=wp), intent(in), dimension(ncol,nlay, ngpt):: ssa

Optical thickness, single-scattering albedo, asymmetry parameter []

real(kind=wp), intent(in), dimension(ncol,nlay, ngpt):: g

Optical thickness, single-scattering albedo, asymmetry parameter []

real(kind=wp), intent(in), dimension(ncol,nlay ):: mu0

cosine of solar zenith angle

real(kind=wp), intent(in), dimension(ncol, ngpt):: sfc_alb_dir

Spectral surface albedo for direct and diffuse radiation

real(kind=wp), intent(in), dimension(ncol, ngpt):: sfc_alb_dif

Spectral surface albedo for direct and diffuse radiation

real(kind=wp), intent(in), dimension(ncol, ngpt):: inc_flux_dir

Direct beam incident flux

real(kind=wp), intent(out), dimension(ncol,nlay+1,ngpt), target:: flux_up

Fluxes [W/m2]

real(kind=wp), intent(out), dimension(ncol,nlay+1,ngpt), target:: flux_dn

Fluxes [W/m2]

real(kind=wp), intent(out), dimension(ncol,nlay+1,ngpt), target:: flux_dir

Fluxes [W/m2]

logical(kind=wl), intent(in) :: has_dif_bc

Is a boundary condition for diffuse flux supplied?

real(kind=wp), intent(in), dimension(ncol, ngpt):: inc_flux_dif

Boundary condition for diffuse flux [W/m2]

logical(kind=wl), intent(in) :: do_broadband

Provide broadband-integrated, not spectrally-resolved, fluxes?

real(kind=wp), intent(out), dimension(ncol,nlay+1 ):: broadband_up

Broadband integrated fluxes

real(kind=wp), intent(out), dimension(ncol,nlay+1 ):: broadband_dn

Broadband integrated fluxes

real(kind=wp), intent(out), dimension(ncol,nlay+1 ):: broadband_dir

Broadband integrated fluxes


Calls

proc~~sw_solver_2stream~~CallsGraph proc~sw_solver_2stream sw_solver_2stream interface~zero_array zero_array proc~sw_solver_2stream->interface~zero_array proc~zero_array_1d zero_array_1D interface~zero_array->proc~zero_array_1d proc~zero_array_2d zero_array_2D interface~zero_array->proc~zero_array_2d proc~zero_array_4d zero_array_4D interface~zero_array->proc~zero_array_4d proc~zero_array_3d zero_array_3D interface~zero_array->proc~zero_array_3d

Contents

None