next up previous contents
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 up previous contents
Next: 1.3 External Software and Up: 1 Overview Previous: 1.1 CCSM Directory Structure   Contents
csm@ucar.edu