Preliminary collection of subroutines.
| Group | Filename | 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) |   | |
| 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) |   | |
| 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 | creates appropriate 1D grids, contains several subroutines, calculates thermal properties of soil with ice | setgrid smartgrid smartgrid_allice soilthprop | |
| 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 | |
| Fast Methods for Subsurface Ice Dynamics |
jsub.f | 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 | |
| fast_modules.f90 | numerically accelerated routines for growth and depletion of subsurfac ice (under development) | module miscparameters module allinterfaces | |
| fast_subs_univ.f90 | numerically accelerated routines for growth and depletion of subsurface ice (under development), general subroutines |
function zint function colint function equildepth depths_avmeth function constriction icechanges_poreonly icechanges assignthermalproperties | |
| fast_subs_exper.f90 | numerically accelerated routines for growth and depletion of subsurface ice (under development) |
icelayer_exper ajsub_exper module thermalmodelparam_exper | |
| fast_subs_mars.f90 | numerically accelerated routines for growth and depletion of subsurface ice (under development) |
icelayer_mars ajsub_mars module thermalmodelparam_mars | |
| Calling Routines and Input Files | exper_thermal1d.f | 1D diffusion of temperature and optionally also vapor with prescribed surface temperature | |
| exper.par | Example input file for exper_thermal1d.f | ||
| mars_thermal1d.f | 1D diffusion of temperature for Mars; prototype example of how to call conductionQ/T with temporary CO2 frost cover |   | |
| input.par | Example input file for mars_thermal1d.f | ||
| mars_mapi.f | determines equilibrium ice table depth for a list of locations (such as the entire globe); contains leftover Numerical Recipes code (©) | also function rtbis | |
| mapgrid.dat | Example input file for mars_mapi.f | ||
| mars_mapt2.f | calls jsub for a list of locations (such as the entire globe) |   | |
| mars_mapiqh2v.f90 | version of mars_mapi that uses jsubv and slope coupling, configured for cluster | also function rtbis rtbisv | |
| stabgrow.f90 | numerically accelerated growth of pore ice (under development) | also icelayer2 ajsub2 | |
| exper_fast.f90 | numerically accelerated growth and depletion of subsurface ice (under development) |   | |
| mars_fast.f90 | numerically accelerated growth and depletion of subsurface ice (under development) |   | |
| makefile | Example makefile; shows file dependencies |   | |
| Non Mars (not maintained) |
advection-diffusion model for Beacon Valley, Antarctica | thermal model for asteroids |
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