compute_tau_absorption Subroutine

public subroutine compute_tau_absorption(ncol, nlay, nbnd, ngpt, ngas, nflav, neta, npres, ntemp, nminorlower, nminorklower, nminorupper, nminorkupper, idx_h2o, gpoint_flavor, band_lims_gpt, kmajor, kminor_lower, kminor_upper, minor_limits_gpt_lower, minor_limits_gpt_upper, minor_scales_with_density_lower, minor_scales_with_density_upper, scale_by_complement_lower, scale_by_complement_upper, idx_minor_lower, idx_minor_upper, idx_minor_scaling_lower, idx_minor_scaling_upper, kminor_start_lower, kminor_start_upper, tropo, col_mix, fmajor, fminor, play, tlay, col_gas, jeta, jtemp, jpress, tau) bind(C, name="0")

Compute minor and major species optical depth using pre-computed interpolation coefficients (jeta,jtemp,jpress) and weights (fmajor, fminor)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: ncol

array sizes

integer, intent(in) :: nlay

array sizes

integer, intent(in) :: nbnd

array sizes

integer, intent(in) :: ngpt

array sizes

integer, intent(in) :: ngas

tables sizes

integer, intent(in) :: nflav

tables sizes

integer, intent(in) :: neta

tables sizes

integer, intent(in) :: npres

tables sizes

integer, intent(in) :: ntemp

tables sizes

integer, intent(in) :: nminorlower

table sizes

integer, intent(in) :: nminorklower

table sizes

integer, intent(in) :: nminorupper

table sizes

integer, intent(in) :: nminorkupper

table sizes

integer, intent(in) :: idx_h2o

index of water vapor in col_gas

integer, intent(in), dimension(2,ngpt):: gpoint_flavor

major gas flavor (pair) by upper/lower, g-point

integer, intent(in), dimension(2,nbnd):: band_lims_gpt

beginning and ending g-point for each band

real(kind=wp), intent(in), dimension(ntemp,neta,npres+1,ngpt):: kmajor

absorption coefficient table - major gases

real(kind=wp), intent(in), dimension(ntemp,neta,nminorklower):: kminor_lower

absorption coefficient table - minor gases, lower atmosphere

real(kind=wp), intent(in), dimension(ntemp,neta,nminorkupper):: kminor_upper

absorption coefficient table - minor gases, upper atmosphere

integer, intent(in), dimension(2,nminorlower):: minor_limits_gpt_lower

beginning and ending g-point for each minor gas

integer, intent(in), dimension(2,nminorupper):: minor_limits_gpt_upper
logical(kind=wl), intent(in), dimension( nminorlower):: minor_scales_with_density_lower

generic treatment of minor gases - scales with density (e.g. continuum, collision-induced absorption)?

logical(kind=wl), intent(in), dimension( nminorupper):: minor_scales_with_density_upper
logical(kind=wl), intent(in), dimension( nminorlower):: scale_by_complement_lower

generic treatment of minor gases - scale by density (e.g. self-continuum) or complement?

logical(kind=wl), intent(in), dimension( nminorupper):: scale_by_complement_upper
integer, intent(in), dimension( nminorlower):: idx_minor_lower

index of each minor gas in col_gas

integer, intent(in), dimension( nminorupper):: idx_minor_upper
integer, intent(in), dimension( nminorlower):: idx_minor_scaling_lower

for this minor gas, index of the "scaling gas" in col_gas

integer, intent(in), dimension( nminorupper):: idx_minor_scaling_upper
integer, intent(in), dimension( nminorlower):: kminor_start_lower

starting g-point index in minor gas absorption table

integer, intent(in), dimension( nminorupper):: kminor_start_upper
logical(kind=wl), intent(in), dimension(ncol,nlay):: tropo

use upper- or lower-atmospheric tables?

real(kind=wp), intent(in), dimension(2, ncol,nlay,nflav ):: col_mix

combination of major species's column amounts - computed in interpolation()

real(kind=wp), intent(in), dimension(2,2,2,ncol,nlay,nflav ):: fmajor

interpolation weights for major gases - computed in interpolation()

real(kind=wp), intent(in), dimension(2,2, ncol,nlay,nflav ):: fminor

interpolation weights for minor gases - computed in interpolation()

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

input temperature and pressure

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

input temperature and pressure

real(kind=wp), intent(in), dimension( ncol,nlay,0:ngas):: col_gas

input column gas amount (molecules/cm^2)

integer, intent(in), dimension(2, ncol,nlay,nflav ):: jeta

interpolation indexes in eta - computed in interpolation()

integer, intent(in), dimension( ncol,nlay ):: jtemp

interpolation indexes in temperature - computed in interpolation()

integer, intent(in), dimension( ncol,nlay ):: jpress

interpolation indexes in pressure - computed in interpolation()

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

aborption optional depth


Contents

None