| Group | Filename (date of last edit) | Comments | provides |
|---|---|---|---|
| Thermal Model | flux.f | Insolation on horizontal or sloped surface with a poor man's atmosphere | function flux |
| conductionT.f | 1D thermal conduction with heterogeneous thermal properties and temperature boundary condition, semi-implicit solver | conductionT | |
| conductionQ.f | 1D thermal conduction with heterogeneous thermal properties and flux/radiation boundary condition, semi-implicit solver | conductionQ | |
| tridag.f | from Numerical Recipes (©), without stop and pause statements, NMAX=2000 | tridag | |
| tprofile.m | Matlab script that compares temperature profile with analytic solution |   | |
| modeldescription.pdf | Notes on Numerics (see Part 1) |   | |
| mars_thermal1d.f (2010-03-27) |
1D diffusion of temperature for Mars; prototype example of how to call conductionQ/T with seasonal CO2 frost cover | main | |
| input.par | Example input file for mars_thermal1d.f | ||
| Diffusion Model | vapordiffusioni.f | Diffusion of water vapor with phase transitions on irregular grid, explicit solver, (adsorption is turned off) | vapordiffusioni |
| adsorption.f | amount of adsorbed H2O and more | adsorption adsorption2 | |
| modeldescription.pdf | Notes on Numerics (see Part 2) |   | exper_thermal1d.f | 1D diffusion of temperature and optionally also vapor with prescribed surface temperature | main |
| exper.par | Example input file for exper_thermal1d.f | ||
| General Purpose | marsorbit.f | position of the sun as seen from Mars; data from Allison & McEwen (2000) | marsorbit |
| generalorbit.f | distance, longitude, and declination of the sun from orbital elements | generalorbit | |
| psv.f | equilibrium vapor pressure of H2O | function psv function frostpoint | |
| psvco2.f | equilibrium vapor pressure of CO2 | function psvco2 function tfrostco2 | |
| grids.f (2011-07-20) |
creates appropriate 1D grids, calculates thermal properties of soil with ice | setgrid smartgrid smartgrid_allice soilthprop smartzfac | |
| julday.for | from Numerical Recipes (©), but without the pause statement | function julday | |
| derivs.f90 | first and second derivatives on irregular grid | deriv1 deriv2_full deriv2_coeff deriv2 deriv2_simple deriv1_onesided | |
| makefile (2010-09-10) |
Example makefile; shows file dependencies |   | |
| Equilibrium Ice Table |
jsub.f (2012-01-29) |
net flux between ice table and surface, includes thermal model | jsub |
| jsubv.f90 | vectorized version of jsub, includes emission from one surface to another | jsubv | |
| mars_mapi.f (2012-01-29) |
determines equilibrium ice table depth for a list of locations (such as the entire globe); contains leftover Numerical Recipes code (©) | main function rtbis | |
| mapgrid.dat | Example input file for mars_mapi.f | ||
| mars_mapt2.f (2011-07-20) |
calls jsub for a list of locations (such as the entire globe) | main | |
| mars_mapiqh2v.f90 | version of mars_mapi that uses jsubv and slope coupling, configured for cluster | main function rtbis rtbisv | |
| Fast Method for Subsurface Ice Dynamics |
fast_modules.f90 (2011-08-25) |
numerically accelerated routines for growth and depletion of subsurfac ice, Fortran modules | module miscparameters module allinterfaces |
| fast_subs_univ.f90 (2011-09-03) |
numerically accelerated routines for growth and depletion of subsurface ice, general subroutines |
function zint function colint function equildepth depths_avmeth function constriction icechanges_poreonly icechanges assignthermalproperties compactoutput | |
| fast_subs_exper.f90 | numerically accelerated routines for growth and depletion of subsurface ice |
icelayer_exper ajsub_exper outputmoduleparameters module thermalmodelparam_exper | |
| fast_subs_mars.f90 (2011-09-02) |
numerically accelerated routines for growth and depletion of subsurface ice |
icelayer_mars ajsub_mars outputmoduleparameters module thermalmodelparam_mars | |
| stabgrow_fast.f90 | numerically accelerated growth of pore ice | main icelayer2 ajsub2 | |
| exper_fast.f90 | numerically accelerated growth and depletion of subsurface ice | main | |
| input_fast.par | Example input file for stabgrow_fast.f90 and exper_fast.f90 | ||
| mars_fast.f90 (2011-09-01) |
numerically accelerated growth and depletion of subsurface ice | main | |
| lats.ph | Example input file for mars_fast.f90 |
4 Sep 2011: better implementation of "mode 2" ice growth, affecting fast_subs_mars.f90 and fast_subs_univ.f90
25 Aug 2011: generalizations to mars_fast.f90, fast_modules.f90, and fast_subs_mars.f90
20 Jul 2011: technical updates (generalizations) to grids.f, jsub.f, mars_mapt2.f, and mars_mapi.f
28 Mar 2010: updated fast_subs_mars.f90; icelayer_mars has been parallelized, but parallelization is disabled by default; fewer calls to conductionT in ajsub_mars
27 Mar 2010: minor polish of the very old program mars_thermal1d.f
9 Feb 2010: grids.f has an additional subroutine and the default for the parametrization of thermal conductivity has changed.
4 Feb 2010: From now on, old versions will be archived in directory OldVersions.
2 Jan 2010: routines for fast method have been added. Their filenames contain the string fast.
Summer 2009: switched from g95/g77 to gfortran compiler.
17 Dec 2008: renamed conductionT2 to conductionT and conductionQ2 to conductionQ for convenience.
31 Oct 2008: added deriv1_onesided to derivs.f90
2006: Troy Hudson discovered a grid-point offset in conductionT and conductionQ, which has been corrected.
2005: Thanks to Mischa Kreslavsky for providing correct formulas for energy balance on a slope.
Many Thanks to Andy Vaught for developing an open-source Fortran 95 compiler (www.g95.org).
-NS