next up previous contents
Next: 3 Data Structures Up: 2 Overview of CSIM4 Previous: 2 Overview of CSIM4   Contents

2.1 Calling Tree

This section contains the primary calling tree for the coupled ice model. Calls to MPI, netCDF, and share code routines are not included as well as calls to subroutines or functions within the ice model that do not include ice physics (i.e. global_scatter, get_sum, bound, etc.). Calls to the prescribed ice routines and the ocean mixed layer model within the ice model are shown in parentheses.

ICEMODEL
+-SETUP_MPI-+-MPI_COUPLED
-----------------------
Initialize model
-----------------------
+-INIT_CONSTANTS
+-INPUT_DATA
+-INIT_GRID
| +-POPGRID-+-ICE_OPEN
| |         +-ICE_READ
| +-TLATLON
| +-MAKEMASK
+-INIT_CALENDAR
+-INIT_HIST
+-INIT_EVP
+-INIT_FLUX-+-INIT_FLUX_ATM
|           +-INIT_FLUX_OCN
+-INIT_ITD
+-INIT_THERMO
+-INIT_MECHRED-+-COMP_MATRICES
+-INIT_STATE-+-AGGREGATE
+-(INIT_PRESCRIBED_ICE)
+-RESTARTFILE-+-AGGREGATE
+-ALBEDOS
+-CALENDAR
+-(INIT_OCEANMIXED_ICE)
+-INIT_CPL-+-CALENDAR
|          +-TO_COUPLER-+-DIAGS_CPL_OUT
+-INIT_DIAGS
+-INTPNT
+-ICE_WRITE_HIST+-ICECDF
-----------------------
Begin timestepping loop
-----------------------
+-FROM_COUPLER-+-T2UGRID
|              +-DIAGS_CPL_IN
+-(SET_OCEANMIXED_ICE)
+-(READ_PRESCRIBED_ICE_CLIMATE)
+-(READ_PRESCRIBED_ICE)
+-(SET_PRESCRIBED_ICE_STATE)-+-(AGGREGATE)
+-(SET_PRESCRIBED_ICE_FLUX)-+-(INIT_FLUX_ATM)
|                           +-(INIT_FLUX_OCN)
+-INIT_MASS_DIAGS
+-THERMO_RATES-+-INIT_COLUMN_DIAGS
|              +-TO_COLUMN
|              +-INIT_FRZMLT
|              +-INIT_VERTICAL_PROFILE
|              +-THERMO_VERTICAL-+-STABILITY
|              |                 +-ICE_SFC_FLUX
|              |                 +-TSTM
|              |                 +-DH
|              |                 +-MERGE_FLUXES
|              +-FROM_COLUMN
+-SCALE_FLUXES
+-TO_COUPLER-+-DIAGS_CPL_OUT
+-(TIME_INTRPLT_OCEAN_FORCING)
+-(COMPUTE_OCEANMIXED_ICE)-+-(MIXED_LAYER)-+-(STABILITY)
|                                          +-(OCNHEAT)
+-THERMO_ITD-+-INIT_FLUX_OCN
|            +-TO_COLUMN
|            +-LINEAR_ITD-+-AGGREGATE_PT
|            |            +-PRINT_STATE-+-TO_COLUMN
|            |            +-FIT_LINE
|            |            +-SHIFT_ICE
|            +-LATERAL_GROWTH_MELT
|            +-REDUCE_AREA
|            +-REBIN_ICE-+-MOVEUP--ZEROCAT
|            |           +-MOVEDN--ZEROCAT
|            +-AGGREGATE_PT
|            +-CONSERVATION_CHECK-+-PRINT_STATE
|            +-FROM_COLUMN
|            +-CHECK_STATE
+-EVP-+-BOUND_SW--BOUND_IJN
|     +-EVP_PREP-+-T2UGRID-+-BOUND
|     |          |         +-TO_UGRID
|     |          +-TO_UGRID
|     +-STRESS
|     +-STEPU-+-BOUND_NARR_NE--BOUND_NIJ
|     +-EVP_FINISH-+-U2TGRID-+-BOUND
|                            +-TO_TGRID
+-TRANSPORT-+-BOUND_NARR--BOUND_IJN
|           +-MPDATA-+-BOUND_NARR
+-MECHANICAL_REDISTR-+-TO_COLUMN
|                    +-RIDGE-+-RIDGE_MATRICES-+-COMP_MATRICES
|                    |       +-RIDGING_MODE
|                    +-ROTH_STRENGTH-+-RIDGING_MODE
|                    +-FROM_COLUMN
+-DISTR_CHECK-+-TO_COLUMN
|             +-MOVEUP
|             +-MOVEDN
|             +-REBIN_ICE
|             +-FROM_COLUMN
|             +-NORMALIZE_STATE
+-AGGREGATE 
+-SCALE_HIST_FLUXES
+-RUNTIME_DIAGS
+-DUMPFILE-+-ICE_OPEN
|          +-ICE_WRITE
-----------------------
End timestepping loop
-----------------------
+-(EXIT_PRESCRIBED_ICE)
+-EXIT_COUPLER



csm@ucar.edu