This searchable *Browser* shows the C++ class (object) structure of PISM, the [Parallel Ice Sheet Model](http://www.pism-docs.org/). It shows all the classes, inheritance structure, source files, and class members (variables and methods) in the PISM source code. It was automatically generated by [doxygen](http://www.doxygen.org/) from comments in the PISM source code. It is the source of PISM technical information, including that needed to extend PISM functionality. Click on "Classes" above to see the full list of classes in this library. Some key classes include: ### The "manager" class The IceModel class manages time-stepping, I/O, initialization, and contains parts of the model that were not modularized yet. Many aspects of PISM's behavior can be modified by writing a new class derived from IceModel and re-implementing one or more of its methods. ### Major sub-models See these classes, as well as *the ones derived from these*. (This is a summary.) - PISMStressBalance, ShallowStressBalance, SSB_Modifier (stress balance models) - PISMHydrology (sub-glacial hydrology models) - PISMBedDef (bed deformation models) - PISMYieldStress, IceBasalResistancePlasticLaw (basal strength) - PISMCalvingAtThickness, PISMEigenCalving, PISMFloatKill, PISMOceanKill, PISMIcebergRemover (calving and "iceberg removal") - IceFlowLaw (rheology) #### Climatic inputs - PISMSurfaceModel ("surface" models, i.e. melt and snow processes) - PISMAtmosphereModel ("atmosphere", provides inputs to a PISMSurfaceModel) - PISMOceanModel ("ocean" model, provides sub-shelf boundary conditions, melange back-pressure, and sea level elevation) ### Infrastructure (utility) classes - IceGrid (computational grid) - PISMComponent and PISMComponent_TS (interface shared by most sub-models) - IceModelVec2S, IceModelVec2Stag, IceModelVec2V, and IceModelVec3 (storage) - Timeseries (scalar forcing) - IceModelVec2T (2D time-dependent forcing) - NCVariable (variable metadata such as physical units) - PISMConfig (configuration parameter database) - PISMTime (time management, including calendars) - PIO (file I/O) ### Some important infrastructure concepts and techniques: - [Organization of PISM's computational grid](@ref computational_grid) - [IceModelVec and friends: storing, reading, writing, accessing 2D and 3D fields](@ref icemodelvec_use) - [PISM's model components and their interface](@ref pism_components) - [Reading scalar time-series (Timeseries)](@ref timeseries_overview) ### Other useful pages The [Related Pages tab](pages.html) links to some overview pages for PISM usage and design. You will find - [table of standard names used by PISM](@ref std_names), - [table of configuration parameters for PISM](@ref config), - ['how do I?' page for developers](@ref howto), - [list of References](@ref references), and other helpful material. This doxygen source *Browser* can be regenerated in any source code release. Just do `"make browser"` in the build directory and look in `doc/browser/html/` therein. ### Where to go next (other PISM documentation) - The website [www.pism-docs.org](http://www.pism-docs.org/) is the *root* for all PISM information. - You can *get help,* send comments, or ask for new features by email to help@pism-docs.org. - To *download* the PISM source code see https://github.com/pism/pism. Use of [Git](http://git-scm.com/) to download is strongly recommended because, even for the stable branches of the code, bug fixes are easy to distribute by `" git pull "`. - For help *installing* PISM, see the [PISM Installation Manual](http://www.pism-docs.org/). - For help *using* PISM, see the [PISM User's Manual](http://www.pism-docs.org/). The *User's Manual* should suffice for understanding PISM unless one wants to modify it or couple another model to it. > Copyright (C) 2008-2014 the PISM authors. > This document is part of PISM. PISM is free software; you can redistribute it > and/or modify it under the terms of the GNU General Public License as published > by the Free Software Foundation; either version 3 of the License, or (at your > option) any later version. PISM is distributed in the hope that it will be > useful, but WITHOUT ANY WARRANTY; without even the implied warranty of > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public > License for more details. You should have received a copy of the GNU General > Public License along with PISM; see `COPYING` in the PISM source directory; if > not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, > Boston, MA 02110-1301 USA