Shortwave two-stream calculation: compute layer reflectance, transmittance compute solar source function for diffuse radiation transport
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 | ||
real(kind=wp), | intent(out), | dimension(ncol,nlay+1 ) | :: | broadband_dn | ||
real(kind=wp), | intent(out), | dimension(ncol,nlay+1 ) | :: | broadband_dir |