CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
mo_gas_optics_kernels Module Reference

Functions/Subroutines

subroutine, public interpolation ( ncol, nlay, ngas, nflav, neta, npres, ntemp, flavor, press_ref_log, temp_ref, press_ref_log_delta, temp_ref_min, temp_ref_delta, press_ref_trop_log, vmr_ref, play, tlay, col_gas, jtemp, fmajor, fminor, col_mix, tropo, jeta, jpress)
 Compute interpolation coefficients for calculations of major optical depths, minor optical depths, Rayleigh, and Planck fractions.
 
subroutine, public 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)
 Compute minor and major species optical depth using pre-computed interpolation coefficients (jeta,jtemp,jpress) and weights (fmajor, fminor)
 
subroutine gas_optical_depths_major (ncol, nlay, nbnd, ngpt, nflav, neta, npres, ntemp, gpoint_flavor, band_lims_gpt, kmajor, col_mix, fmajor, jeta, tropo, jtemp, jpress, tau)
 
subroutine gas_optical_depths_minor (ncol, nlay, ngpt, ngas, nflav, ntemp, neta, nminor, nminork, idx_h2o, idx_tropo, gpt_flv, kminor, minor_limits_gpt, minor_scales_with_density, scale_by_complement, idx_minor, idx_minor_scaling, kminor_start, play, tlay, col_gas, fminor, jeta, layer_limits, jtemp, tau)
 
subroutine, public compute_tau_rayleigh (ncol, nlay, nbnd, ngpt, ngas, nflav, neta, npres, ntemp, gpoint_flavor, band_lims_gpt, krayl, idx_h2o, col_dry, col_gas, fminor, jeta, tropo, jtemp, tau_rayleigh)
 
subroutine, public compute_planck_source (ncol, nlay, nbnd, ngpt, nflav, neta, npres, ntemp, nplancktemp, tlay, tlev, tsfc, sfc_lay, fmajor, jeta, tropo, jtemp, jpress, gpoint_bands, band_lims_gpt, pfracin, temp_ref_min, totplnk_delta, totplnk, gpoint_flavor, sfc_src, lay_src, lev_src_inc, lev_src_dec, sfc_source_jac)
 
real(wp) function interpolate1d (val, offset, delta, table)
 
real(wp) function interpolate2d (fminor, k, igpt, jeta, jtemp)
 
real(wp) function interpolate3d (scaling, fmajor, k, igpt, jeta, jtemp, jpress)
 
subroutine minmaxloc (i, mask, a, minl, maxl)
 
subroutine gas_optical_depths_minor (ncol, nlay, ngpt, ngas, nflav, ntemp, neta, nminor, nminork, idx_h2o, gpt_flv, kminor, minor_limits_gpt, minor_scales_with_density, scale_by_complement, idx_minor, idx_minor_scaling, kminor_start, play, tlay, col_gas, fminor, jeta, layer_limits, jtemp, tau)
 
pure real(wp) function, dimension(size(table, dim=2)) interpolate1d (val, offset, delta, table)
 
pure real(wp) function, dimension(gpte-gpts+1) interpolate2d_byflav (fminor, k, gpts, gpte, jeta, jtemp)
 
pure real(wp) function, dimension(gpts:gpte) interpolate3d_byflav (scaling, fmajor, k, gpts, gpte, jeta, jtemp, jpress)
 

Detailed Description

Numeric calculations for gas optics. Absorption and Rayleigh optical depths, Planck source functions.

  • Interpolation coefficients are computed, then used in subsequent routines.
  • All applications will call compute_tau_absorption(); compute_tau_rayleigh() and/or compute_Planck_source() will be called depending on the configuration of the k-distribution.
  • The details of the interpolation scheme are not particaulrly important as long as arrays including tables are passed consisently between kernels.