;+ ; NAME: ; vt3d_step_cn_1loc ; PURPOSE: (one line) ; step the temperature one time step at a single location ; DESCRIPTION: ; step the temperature one time step at a single location ; CATEGORY: ; Volatile Transport ; CALLING SEQUENCE: ; vt3d_step_cn_1loc, 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] ; PROCEDURE: ; Solve Crank-Nicholson equation ; Young, L. A. 2016, Volatile transport on inhomogeneous surfaces: II. Numerical calculations (VT3D) ; Resubmitted to Icarus. ; Eq. 3.4-9a, 3.4-9b ; MODIFICATION HISTORY: ; Written 2011 Feb 6, by Leslie Young, SwRI ; 2016 Mar 24 LAY. Modified for inclusion in vt3d library. ;- pro vt3d_step_cn_1loc, alpha_i, beta_0, beta_i, gamma_0, gamma_J, temp_0, temp_i ; first get the right-hand side vt3d_step_expl_1loc, alpha_i/2., beta_0/2., beta_i/2., gamma_0, gamma_J, temp_0, temp_i ; then solve for the final temperature vt3d_step_impl_1loc, alpha_i/2., beta_0/2., beta_i/2., 0., 0., temp_0, temp_i end