This page was created by the IDL library routine
mk_html_help
. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Thu Mar 24 12:22:43 2016.
NAME: AAvt_README PURPOSE Print the file 'AAvt_README.pro' CATEGORY: Volatile transport and thermophysical modeling (vt) CALLING SEQUENCE: AAvt_README --------------------------------------------------------------------------- FILES AND ENVIRONMENT VARIABLES --------------------------------------------------------------------------- None --------------------------------------------------------------------------- FUNCTIONS --------------------------------------------------------------------------- A help file was mk_html_help,['.','vty16'],'AAvt.html' --------------------------------------------------------------------------- VARIABLES --------------------------------------------------------------------------- VT16 ---- In vty16, there are some common variable names used in multiple functions. ARRAY LENGTHS n_z : number of layers --------------------------------------------------------------------------- FUNCTIONS FROM ELSEWHERE IN THE LAYOUNG LIBRARY --------------------------------------------------------------------------- general/physconstants ---------------------------------------------------------------------------
(See AAvt_README.pro)
NAME: bz1980_vp PURPOSE: (one line) Return vapor pressure, optionally latent heat DESCRIPTION: Return vapor pressure, optionally latent heat from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: vp = bz1980_vp(species, t, latentheat, energyratio, phase) INPUTS: species: string Valid species are: p-H2, O2, N2, F2, CO, CO2, Ne, Ar, Kr, Xe, CH4, C2H4, C2H6 t : temperature, K OUTPUTS: vp : vapor pressure in microbar OPTIONAL OUTPUT latentheat : latent heat of sublimation or vaporization in erg/g energyratio : ratio of latent to kinetic energy, unitless. latent heat per molecule / (k*T) phase : a string representing the phase key: string giving designation in bz1980_vp_table3.txt ap: the polynomial coefficients A0..A6 in bz1980_vp_table3.txt RESTRICTIONS: The files "bz1980_vp_table1.txt" and "bz1980_vp_table3.txt" must be in the same directory as bz1980_vp.pro PROCEDURE: This function implements the tables of Brown, G.N., Ziegler, W.T., 1980. Vapor pressure and heats of vaporization and sublimation of liquids and solids of interest in cryogenics below 1atm pressure. Adv. Cryog. Eng. 25, 662–670. (note there is confustion about the year of this publication, as the conference was 1979 and the procedings were published in 1980). Latent heat is calculated from the derivative of the vapor pressure, as John Stansberry pointed out that the BZ latent heat tables are incorrect. MODIFICATION HISTORY: Written 2011 Apr 10, by Leslie Young, SwRI 2016 Mar 22 Cleaned up documentation, LAY
(See bz1980_vp.pro)
NAME: ch4latentheat PURPOSE: (one line) Return latent heat of sublimation of CH4 in erg/g from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: latentheat = ch4latentheat(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: latentheat : latent heat of sublimation in erg/g OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2011 Apr 10, by Leslie Young, SwRI
(See ch4latentheat.pro)
NAME: ch4t PURPOSE: (one line) Return vapor pressure of CH4 from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: t = ch4t(vp) INPUTS: vp : vapor pressure in microbar KEYWORD INPUTS None OUTPUTS: t : temperature, K OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2013 Jun 16, by Leslie Young, SwRI
(See ch4t.pro)
NAME: ch4vp PURPOSE: (one line) Return vapor pressure of CH4 from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: vp = ch4vp(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: vp : vapor pressure in microbar OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2013 Jun 13, by Leslie Young, SwRI
(See ch4vp.pro)
NAME: colatentheat PURPOSE: (one line) Return latent heat of sublimation of CO in erg/g from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: latentheat = colatentheat(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: latentheat : latent heat of sublimation in erg/g OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2011 Apr 10, by Leslie Young, SwRI
(See colatentheat.pro)
NAME: covp PURPOSE: (one line) Return vapor pressure of CO from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: vp = covp(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: vp : vapor pressure in microbar OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2009 Dec 7, by Leslie Young, SwRI
(See covp.pro)
NAME: n2latentheat PURPOSE: (one line) Return latent heat of sublimation of N2 in erg/g from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: latentheat = n2latentheat(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: latentheat : latent heat of sublimation in erg/g OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2011 Jan 25, by Leslie Young, SwRI
(See n2latentheat.pro)
NAME: n2t PURPOSE: (one line) Return vapor pressure of N2 from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: t = n2t(vp) INPUTS: vp : vapor pressure in microbar KEYWORD INPUTS None OUTPUTS: t : temperature, K OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2013 Jun 16, by Leslie Young, SwRI
(See n2t.pro)
NAME: n2vp PURPOSE: (one line) Return vapor pressure of N2 from Brown & Ziegler 1980 CATEGORY: Volatile Transport CALLING SEQUENCE: vp = n2vp(t) INPUTS: t : temperature, K KEYWORD INPUTS None OUTPUTS: vp : vapor pressure in microbar OPTIONAL OUTPUT None RESTRICTIONS: PROCEDURE: This function implements the tables of Brown and Zeigler MODIFICATION HISTORY: Written 2011 Aug 24, by Leslie Young, SwRI
(See n2vp.pro)
NAME: vt3d_thermpro PURPOSE: (one line) Calculate temperatures on a surface in a style similar to thermprojrs DESCRIPTION: vt3d_thermpro CATEGORY: VT3D CALLING SEQUENCE: vt3d_thermpro,tsurf,tod,tdeep,teq,balance,tdarr,zarr0 INPUTS: rhel heliocentric distance, AU alb bolometric albedo ti thermal inertia, erg-cgs. Can be an array, in which case it gives the ti of each slab rot Rotation period, days KEYWORDS: emvty emissivity (default 1.0) rho density, g cm-3. Can be an array, giving the density of each slab. (default 1.0) cp specific heat, erg g-1 K-1 (default H20) plat latitude (radians) (default 0.0) sunlat Subsolar latitude (radians) (default 0.0) heatflow Endogenic heat flow, erg cm-2 s-1 (default 0.0) zarr Array of depths to the BASE of each slab (NOT slab thicknesses), in cm. First element must be non-zero. zeta array to CENTER of each slab nslab Number of slabs (ignored if zarr set) (default 30) ntinc Time increments per day (default 5000) nday Number of days per run (default 4) skdepths Model depth, in skindepths (ignored if zarr set) (default 6) sol_norm_1au solar constant, erg cm-2 s-1 silent If set, sends no output to the terminal (except stability warnings) OUTPUT tsurf: diurnal surface temperature array tod: time of day array (in radians) tdeep: final deep temperature teq: Instantaneous-equilibrium temperature array balance: Thermal balance: (power out - heatflow)/(power in) tdarr: temperature/depth array, with 200 diurnal increments (set this to a defined variable before entering thermprojrs). zarr0: for convenience, returns the array of slab-bottom depths (same as zarr) MODIFICATION HISTORY: Written 2012 Oct 12, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in layoung library.
(See vt3d_thermpro.pro)
NAME: vty16_alpha_interior PURPOSE: (one line) Return alpha[1..J] for volatile transport timestepping DESCRIPTION: Return alpha[1..J] for volatile transport timestepping CATEGORY: Volatile Transport CALLING SEQUENCE: alpha_i = vty16_alpha_interior(tau, del) INPUTS: tau : non-dimentionalized time step, scalar del : non-dimentionalized layer width, float[J] OPTIONAL INPUTS del_a : non-dimentionalized distance to layer above, float[J] OUTPUTS: alpha_i : dependance of temp[1..J] on temp[0..J-1], float[J] RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Table 4 & 5 MODIFICATION HISTORY: Written 2011 Dec 30, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_alpha_interior.pro)
NAME: vty16_beta_interior PURPOSE: (one line) Return beta[1..J] for volatile transport timestepping DESCRIPTION: Return beta[1..J] for volatile transport timestepping CATEGORY: Volatile Transport CALLING SEQUENCE: beta_i = vty16_beta_interior(tau, del) INPUTS: tau : non-dimentionalized time step, scalar del : non-dimentionalized layer width, float[J] OPTIONAL INPUTS del_b : non-dimentionalized distance to layer below, float[J] OUTPUTS: beta_i : dependance of temp[1..J] on temp[2..J+1], float[J] RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Table 4 & 5 MODIFICATION HISTORY: Written 2011 Dec 30, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_beta_interior.pro)
NAME: vty16_dfluxdtemp_emit PURPOSE: (one line) Return (d flux / d T) associated with thermal emission DESCRIPTION: Return (d flux / d T) associated with thermal emission CATEGORY: Volatile Transport CALLING SEQUENCE: phi_e = vty16_dfluxdtemp_emit(emis, temp) INPUTS: emis : emissivity, unitless temp : temperature, K OUTPUTS: phi_e : d flux/d T in erg cm^-2 s^-1 K^-1 where flux is the thermal emission RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq. 3.2-9b MODIFICATION HISTORY: Written 2011 Apr 10, by Leslie Young, SwRI 2011-05-18 LAY. change from e*s*T^3 to 4*e*s*T^3 2011-12-30 LAY. change from temp_0 to temp 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_dfluxdtemp_emit.pro)
NAME: vty16_dfluxdtemp_substrate PURPOSE: (one line) Return (d flux / d T) associated with thermal inertia DESCRIPTION: Return (d flux / d T) associated with thermal inertia CATEGORY: Volatile Transport CALLING SEQUENCE: phi_s = vty16_dfluxdtemp_substrate(freq, therminertia) INPUTS: freq : frequency in s^-1 therminertia : thermal inertia in erg cm^-2 s^-0.5 K^-1 OUTPUTS: phi_gamma : d flux/d T in erg cm^-2 s^-1 K^-1 where flux is the thermal conduction RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq. 3.2-9a MODIFICATION HISTORY: Written 2011 Apr 10, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_dfluxdtemp_substrate.pro)
NAME: vty16_fig3_1 PURPOSE: (one line) Plot Young 2016, Fig3.1 DESCRIPTION: Plot Young 2016, Fig3.1 CATEGORY: VT3D CALLING SEQUENCE: vty16_fig3_1, phase, flux_sol, flux_sol_1, flux_sol_7 INPUTS: none OPTIONAL OUTPUTS: phase: phase of the period running from 0 to 2 pi radian flux_sol : absorbed solar flux, erg/cm^2/s flux_sol_1 : approximate absorbed solar flux, M=1, erg/cm^2/s flux_sol_7 : approximate absorbed solar flux, M=7, erg/cm^2/s SIDE EFFECTS: creates vty16_fig3_1.tif and vty16_fig3_1.txt MODIFICATION HISTORY: Written 2012 Sep 29, by Leslie Young, SwRI 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_fig3_1.pro)
NAME: vty16_fig3_2 PURPOSE: (one line) Plot Young 2016, Fig3.2 DESCRIPTION: Plot Young 2016, Fig3.2 CATEGORY: VT3D CALLING SEQUENCE: vty16_fig3_2 INPUTS: none OPTIONAL OUTPUTS: zeta : scaled depth (zeta < 0), unitless, float[n_z] temp_phase0 : temperature as a function of depth for zero phase, when surface temperature equals its mean. K, float[n_z] temp_phase90 : temperature as a function of depth for 90 deg phase, when surface temperature equals its minimum. K, float[n_z] temp_envelope_max : envelope of temperature maxima, K, float[n_z] temp_envelope_min : envelope of temperature minima, K, float[n_z] SIDE EFFECTS: creates vty16_fig3_2.tif and vty16_fig3_2.txt MODIFICATION HISTORY: Written 2012 Sep 30, by Leslie Young, SwRI 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_fig3_2.pro)
NAME: vty16_fig3_3 PURPOSE: (one line) Plot Young 2016, Fig3.3 DESCRIPTION: Plot Young 2016, Fig3.3 CATEGORY: VT3D CALLING SEQUENCE: vty16_fig3_3, tod_vt3d, tsurf_vt3d, phase, temp, temp_1, temp_7, temp INPUTS: none OPTIONAL OUTPUTS: tod_vt3d: phase of the period running from 0 to 2 pi radian tsurf_vt3 : absorbed solar flux, erg/cm^2/s flux_sol_1 : approximate absorbed solar flux, M=1, erg/cm^2/s flux_sol_7 : approximate absorbed solar flux, M=7, erg/cm^2/s SIDE EFFECTS: creates vty16_fig3_1.tif and vty16_fig3_1.txt MODIFICATION HISTORY: Written 2012 Sep 29, by Leslie Young, SwRI 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_fig3_3.pro)
NAME: vty16_skindepth PURPOSE: (one line) Return vty16_skindepth DESCRIPTION: Return vty16_skindepth CATEGORY: Volatile Transport CALLING SEQUENCE: z_skin = vty16_skindepth(dens, specheat, thermcond, freq) INPUTS: dens : density of the substrate (g/cm^3) specheat : specific heat (erg/(g K)) thermcond : thermal conductivity of the substrate (erg/(cm s K)) freq : frequency of the solar forcing, 2 pi/period (1/(s)) OUTPUTS: z_skin : skin depth (cm) RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-6 MODIFICATION HISTORY: Written 2011 Aug 10, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_skindepth.pro)
NAME: vty16_solar_mu PURPOSE: (one line) Return cosine of the solar incidence angle, mu >= 0 DESCRIPTION: Return cosine of the solar incidence angle, mu >= 0 CATEGORY: Volatile Transport CALLING SEQUENCE: mu0 = vty16_solar_mu(lat, lon, lat0, lon0) INPUTS: lat - scalar or array of latitudes (radian) lon - scalar or array of longitudes (radian) lat0 - scalar or array of sub-solar latitude (radian) lon0 - scalar or array of sub-solar longitude (radian) KEYWORD INPUT PARAMETERS: lonavg - return the longitudinal average for the given lat and lat0 coslat, sinlat, coslon, sinlon : can pass these if they've been already computed OUTPUTS: mu0 = cos(theta0), where theta0 is angle of the sun with respect to the zenith If COMMON BLOCKS: None SIDE EFFECTS: RESTRICTIONS: lat and lon must be scalars or both 1-D arrays of length n_loc lat0 and lon0 must be scalars or both 1-D arrays of length n_time PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq. 3.1-5 (Eq 3.2-4a for longitudinal averaged mu0) MODIFICATION HISTORY: Written 2011 March 6, by Leslie Young, SwRI 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_solar_mu.pro)
NAME: vty16_solwave PURPOSE: (one line) Return solar wave DESCRIPTION: Return solar wave CATEGORY: Volatile Transport CALLING SEQUENCE: sol = vty16_solwave(sol_terms, phase) INPUTS: sol_terms = [sol_0, sol_1, ...], erg cm^-2 s^-1 : complex[n_term+1] or complex[n_loc,n_term+1] s.t., at the surface, sol(phase) = sol_0 + sol_1 exp(i*phase) + temp_2 exp(2*i*phase) + ... phase: float or float[n_t], where n_t is the number of time steps. frequency * time, radian OUTPUTS: sol: solar flux, erg cm^-2 s^-1. float, float[n_t], float[n_loc], or float[n_t,n_loc] sol_t phase sol n_term+1 scalar scaler n_loc,n_term+1 scalar n_loc n_term+1 n_t n_t n_loc,n_term+1 n_t n_t,n_loc RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-1 MODIFICATION HISTORY: Written 2012 Jan 11, by Leslie Young, SwRI 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_solwave.pro)
NAME: vty16_sol_terms_diurnal PURPOSE: (one line) return the diurnal solar terms in sinusoidal expansion DESCRIPTION: return the diurnal solar terms such that s[i,lon] = sol_terms[i,0] + Re( sol_terms[i,1]*exp(_i* p) )$ + Re( sol_terms[i,2]*exp(_i*2*p) ) + CATEGORY: Volatile Transport CALLING SEQUENCE: sol_terms = vty16_sol_terms_diurnal(dist_sol_au, albedo, lat, h_phase0, lat_sol, n_terms) INPUTS: dist_sol_au : sub-solar distance, in AU, float albedo : hemispheric albedo, unitless, float or float[n_loc] lat : latitude, radian, float or float[n_loc] h_phase0 : hour angle at zero phase lat_sol : subsolar latitude, radian, float n_terms : number of terms in the expansion OPTIONAL INPUTS: sol_norm_1au - Normal incident solar flux at 1 AU (scalar, erg/cm^2/s) Default 1367.6e3 OUTPUTS: sol_terms : the complex diurnal solar terms in a sinusoidal expansion, ergcm^2/s, complex[n_loc, n_term+1] or complex[n_term+1] OPTIONAL INPUTS: h_max - Hour angle at sunset, radian, float or float[n_loc] PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-4a, 3.2-4b, 3.2-4c MODIFICATION HISTORY: Written 2012 Jan 8, by Leslie Young, SwRI 2012 Apr 19 LAY, change offset to h_phase0 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_sol_terms_diurnal.pro)
NAME: vty16_temp_term0_bare PURPOSE: (one line) Return temperature in balance with mean absorbed solar flux DESCRIPTION: Return temperature in balance with mean absorbed solar flux CATEGORY: Volatile Transport CALLING SEQUENCE: temp_0 = vty16_temp_term0_bare(sol_0, flux_int, emis) INPUTS: sol_0 : mean absorbed solar flux, erg/cm^2/s : float[n_term+1] or float[n_loc,n_term+1] flux_int : internal heat flux, erg/cm^2/s, float or float[n_loc] emis : thermal emissivity, unitless, float or float[n_loc] OUTPUTS: temp_0: temperature in balance with mean absorbed solar flux, float or float[n_loc] RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-8 MODIFICATION HISTORY: Written 2011 Dec 31, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_temp_term0_bare.pro)
NAME: vty16_temp_terms_bare PURPOSE: (one line) Return temperature in balance with mean absorbed solar flux DESCRIPTION: Return temperature in balance with mean absorbed solar flux CATEGORY: Volatile Transport CALLING SEQUENCE: temp_terms = vty16_temp_terms_bare(sol_terms,flux_int,emis,freq,therminertia) INPUTS: sol_terms : absorbed solar flux, complex or real, erg/cm^2/s: complex[n_term+1] or complex[n_loc,n_term+1] defined so that (if _i = sqrt(-1) ) sol = sol_terms[0] + sol_terms[1]*exp( _i * freq * t) + sol_terms[2]*exp(2 *_i * freq * t) + .. flux_int : internal heat flux, erg/cm^2/s: float or float[n_loc] emis : thermal emissivity, unitless : float or float[n_loc] freq : frequency of forcing therminertia : thermal inertia, erg cm-2 s-1/2 K-1 : float or float[n_loc] OUTPUTS: temp_terms: terms of approximate temperture, K, such that temp = temp_terms[0] + temp_terms[1]*exp( _i * freq * t + sqrt( _i * zeta) ) + temp_terms[2]*exp(2 *_i * freq * t + sqrt(2 * _i * zeta) ) + .. temp_terms is complex[n_term+1] or complex[n_loc,n_term+1] RESTRICTIONS: PROCEDURE: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-10 MODIFICATION HISTORY: Written 2011 Dec 31, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_temp_terms_bare.pro)
NAME: vty16_temp_terms_bare_iter PURPOSE: (one line) Return temperature in balance with mean absorbed solar flux DESCRIPTION: Return temperature in balance with mean absorbed solar flux CATEGORY: Volatile Transport CALLING SEQUENCE: temp_terms= vty16_temp_terms_bare_iter(sol_terms,flux_int,emis,freq,therminertia) INPUTS: sol_terms : absorbed solar flux, complex or real, erg/cm^2/s: complex[n_term+1] or complex[n_loc,n_term+1] sol = sol_terms[0] + sol_terms[1]*exp(_i * freq * t) + sol_terms[2]*exp(2 *_i freq t) + .. flux_int : internal hear flux, erg/cm^2/s: float or float[n_loc] emis : thermal emissivity, unitless : float or float[n_loc] freq : frequency of forcing therminertia : thermal inertia, erg cm-2 s-1/2 K-1 : float or float[n_loc] OUTPUTS: temp_t: terms of approximate temperture, K, s.t. temp = temp_t[0] + temp_t[1]*exp( _i * freq * t + sqrt( _i * zeta) ) + temp_t[2]*exp(2 *_i * freq * t + sqrt(2 * _i * zeta) ) + .. temp_terms is complex[n_term+1] or complex[n_loc,n_term+1] RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq. 3.2-10 MODIFICATION HISTORY: Written 2011 Dec 31, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_temp_terms_bare_iter.pro)
NAME: vty16_thermwave PURPOSE: (one line) Return thermal wave DESCRIPTION: Return thermal wave CATEGORY: Volatile Transport CALLING SEQUENCE: temp = vty16_thermwave(temp_terms, phase, dtemp_dzeta, z_skin, zeta) INPUTS: temp_terms = [temp_0, temp_1, ...], K : complex[n_term+1] or complex[n_loc,n_term+1] s.t., at the surface, temp(phase) = temp_0 + temp_1 exp(i*phase) + temp_2 exp(2*i*phase) + ... phase: float or float[n_t]. freq * time, Hz dtemp_dzeta: float, float[n_loc] - internal heat flux / (sqrt(freq) * therminertia) z_skin: float or float[n_z] or float[n_loc,n_z]. If z_skin is an array or matrix, then the skin depth varies with depth, and this attempts to modify the wave equation with the WKB approximation. This has no effect if z_skin is a scalar (constant with depth), so it is common to simply set z_skin = 1. zeta: scaled depth, float, float[n_z], float[n_loc, n_z] OUTPUTS: temp: float, float[n_t], float[n_z], or float[n_t,n_z] float[n_t,n_loc], temp_terms phase substrate temp n_term+1 scalar scalar scaler n_loc,n_term+1 scalar scalar n_loc n_term+1 n_t scalar n_t n_loc,n_term+1 n_t scalar n_t,n_loc n_term+1 scalar n_z n_z n_loc,n_term+1 scalar n_z n_loc,n_z n_term+1 n_t n_z n_t,n_z n_loc,n_term+1 n_t n_z n_t,n_loc,n_z n_term+1 scalar n_loc,n_z n_loc,n_z n_loc,n_term+1 scalar n_loc,n_z n_loc,n_z n_term+1 n_t n_loc,n_z n_t,n_loc,n_z n_loc,n_term+1 n_t n_loc,n_z n_t,n_loc,n_z RESTRICTIONS: PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Eq 3.2-7 If skin depth varies with z, then the wave is calculated with a wkb approximation. MODIFICATION HISTORY: Written 2011 Dec 30, by Leslie Young, SwRI Modified 2012 Sep 30, LAY. Added m inside sqrt(_i) term. 2016 Mar 22 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_thermwave.pro)
NAME: vty16_vtstep_expl_single PURPOSE: (one line) step the temperature one time step DESCRIPTION: step the temperature one time step CATEGORY: Volatile Transport CALLING SEQUENCE: vty16_step_sxpl_single, alpha_i, beta_0, beta_i, gamma_0, gamma_J, temp_0, temp_i INPUTS: alpha_i: dependance of temp[1..J] on temp[0..J-1], unitless, float[J] beta_0: dependance of temp[0] on temp[1], unitless, float beta_i: dependance of temp[1..J] on temp[2..J+1], unitless, float[J] gamma_0: net flux at upper boundary, K, float gamma_J: net flux at lower boundary, K, float INPUT-OUTPUTS: temp_0 : temperature at layer 0, K, float temp_i : temperature at layer 1..J, K, float[J] COMMON BLOCKS: None SIDE EFFECTS: temp_0 and temp_i are modified RESTRICTIONS: nsurf = 0 or 1 PROCEDURE: Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) Resubmitted to Icarus. Table 4 & 5 MODIFICATION HISTORY: Written 2011 Feb 6, by Leslie Young, SwRI 2016 Mar 24 LAY. Modified for inclusion in vty16 library.
(See vty16/vty16_step_expl_single.pro)