Next: 1.3 External Software and
Up: 1 Overview
Previous: 1.1 CCSM Directory Structure
  Contents
1.2 CSIM Module Descriptions
The ice model uses ProTex, which is a tool for self-documenting source code.
ProTex is a perl script that produces a LaTeX compatible document from
Fortran source code that contains a ProTex prologue at the top of each module,
function and subroutine. The output from ProTex can be over 100 pages, and
make files and build scripts would not be included in any documentation
created by the ProTex tool. In light of this, the ice model source code and
the build scripts are described briefly in this section. There is additional
information in the code at the top of each module, subroutine and function.
- csim4/src/csim.setup.csh
- compiles the uncoupled ice model and prestages
the input data, contains the namelist, used
by csim_run
- csim4/src/csim_run
- runs the uncoupled ice model
- csim4/src/IBM_tests
- runs debug and exact restart tests on the NCAR
IBM for the uncoupled ice model
- csim4/src/bld/Macros.OS
- macro definitions for supported operating systems,
used by Makefile
- csim4/src/bld/makdep.c
- perl script that determines module dependencies
- csim4/src/bld/Makefile
- builds the uncoupled ice model
- csim4/src/input_templates/ice_model_size.F.*
- input files prestaged by
csim.setup.csh depending on the grid dimensions
and number of ice thickness categories set in this file.
Below is a list of one-line descriptions for the ice model modules from csim4/src/source.
- ice.F
- main program
- ice_albedo.F
- albedo parameterization
- ice_atmo.F
- stability-based parameterization for calculating
turbulent ice-atmosphere fluxes
- ice_calendar.F
- time manager
- ice_constants.F
- parameters, physical and numerical constants
- ice_coupling.F
- interface with flux coupler
- ice_diagnostics.F
- diagnostic and debugging routines
- ice_domain.F
- MPI subdomain sizes and parallel processing info
- ice_dyn_evp.F
- elastic-viscous-plastic dynamics component
- ice_exit.F
- aborts the model and prints error message
- ice_fileunits.F
- unit numbers for I/O
- ice_flux.F
- fluxes needed/produced by the model
- ice_flux_in.F
- routines to read and interpolate forcing for stand-alone ice model
- ice_grid.F
- grids and land masks
- ice_history.F
- netCDF output routines and read/write restart
- ice_init.F
- namelist and initializations
- ice_itd.F
- utilities for managing ice thickness distribution
- ice_itd_linear.F
- linear remapping for transport in thickness space
- ice_kinds_mod.F
- definitions of reals, integers, etc.
- ice_mechred.F
- mechanical redistribution (ridging)
- ice_model_size.F
- grid size, number of thickness categories and vertical layers
- ice_mpi_internal.F
- utilities for internal MPI parallelization
- ice_ocean.F
- slab ocean mixed layer model
- ice_prescribed.F
- prescribed ice (not supported in this release)
- ice_read_write.F
- utilities for reading/writing files
- ice_scaling.F
- ice-area scaling of fluxes sent to coupler
- ice_state.F
- arrays defining ice state
- ice_therm_itd.F
- thermodynamics changes mostly due to ITD (post-coupling)
- ice_therm_vertical.F
- vertical growth rates and fluxes (pre-coupling thermodynamics)
- ice_timers.F
- timing routines
- ice_transport_mpdata.F
- horizontal advection via MPDATA or upwind
- ice_transport_remap.F
- horizontal advection via incremental remapping
- ice_work.F
- globally accessible work arrays
Next: 1.3 External Software and
Up: 1 Overview
Previous: 1.1 CCSM Directory Structure
  Contents
csm@ucar.edu