next up previous contents
Next: 4.7 Information Sent to Up: 4 Using CSIM4 Previous: 4.5 The Four Run   Contents


4.6 Modifying the Input Variables

This section provides instructions for changing the appropriate environment variables in the main and ice setup scripts to set up some of the common configurations.

4.6.1 Changing Grid Resolution

The grid is set using the environment variable $GRID in the main setup script. The available grids are gx3 and gx1v3 for the ocean and ice models, which must be run on the same grid. The options are T31, T42 and T62 for the atmosphere and land models, which also must be on the same grid. The default grid is T42_gx1v3, which is the T42 grid for the atmosphere/land models and the gx1v3 grid for the ice/ocean components. For a faster simulation, this can be changed to T31_gx3, which is the coarse resolution grid for the ice/ocn. T62 is not a supported grid for the active atmosphere and land models, but is a supported resolution for latm5. See section 3.4 for details on how to use this grid.

4.6.2 Changing the Number of Processors

The number of tasks, or processors, used by each component is set in the main script using the variable $NTASKS. All data models are run using a single task. For the T42_gx1v3 grid, the ice model is typically run on 8 or 16 tasks. Note that the number of tasks used by the ice model must divide evenly into the grid. For example, running the ice model with 8 tasks on the gx3 grid wil result in an error, since 8 does not divide evenly into the 100 longitude points. When this happens, the model will stop with an error message written to the log file.

To modify the number of tasks, the keyword task_geometry and the environment variable $NTASKS need to be changed in the main script. The task_geometry keyword allows groups of tasks to run together on the same node. Currently, on the IBM at NCAR, a node is a group of four processors. The following examples are for the D configuration with the components in the following order as specified in the main script:

 set SETUPS = ( datm  dlnd  ice  docn  cpl )

For four processors, the task geometry and NTASKS are

# @ task_geometry = {(0,1,6)(2,3,4,5)(7)} 
set NTASKS = (     1    1    4    1    1 )  # use NTASK = 1 for data model
set NTHRDS = (     1    1    1    1    4 )  # use NTHRD = 1 for data model

Each number in the above task_geometry represents a task ID number, with each set of parenthesis defining a node. In this example, a job with eight tasks will run on three different nodes. datm, dlnd, docn will share a node, the ice model will use four tasks assigned to a single node and the coupler will use a single node and spawn four threads. Four tasks for the ice model is sufficient for running on the gx3 grid. To run the ice model using eight processors, set:

# @ task_geometry = {(0,1,10)(2,3,4,5)(6,7,8,9)(11)}
set NTASKS = (     1    1    8    1    1 )  # use NTASK = 1 for data model

In this example, the ice model will use eight tasks assigned to two nodes. For sixteen processors set

# @ task_geometry = {(0,1,18)(2,3,4,5)(6,7,8,9)(10,11,12,13)(14,15,16,17)(19)}
set NTASKS = (     1    1    16    1    1 )  # use NTASK = 1 for data model

The prescribed ice model has a complex task geometry due to the active atmosphere and land models that are threaded.

# @ task_geometry = {(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11,12,13,14)(15,16,17,18)
set SETUPS = (   atm  lnd  ice docn  cpl )
set NTASKS = (    8    3   16   1    1 )  # use NTASK = 1 for data model
set NTHRDS = (    4    4   1    1    4 )  # use NTHRD = 1 for data model

In this case, the atmosphere runs threaded on tasks 0 through 7, and the land runs threaded on tasks 8 through 10. The ice model uses tasks 11 through 26 on spread over four nodes. docn and cpl are set up as in the previous examples.

4.6.3 Changing the Ice Model Timestep

The ice model timestep is controlled by the variable dt in the &ice_mnl namelist in ice.setup.csh. The units are in seconds. See section 4.3.1 for a discussion on how to change the timestep and the dynamics subcycling.

4.6.4 Changing the Length of the Model Run

The length of the model run is controlled by the coupler. To change the length of the model run, change stop_n in the $MODEL.stdin namelist in cpl.setup.csh. This parameter will be in the units set by stop_option, which is typically 'ndays'. See the section and the coupler documentation for the other options and examples.

4.6.5 Changing the Number of Ice Thickness Categories

The number of ice thickness categories affects files in three places:

The number of ice thickness categories is set in ice.setup.csh using the variable called $NCAT. The default value is 5 categories. The script variable $NCAT is used to determine which module ice_model_size.F.$RESx$NCAT is copied to $OBJDIR before compilation where it is renamed ice_model_size.F. $RES is the resolution of the grid, 100x116 (gx3) and 320x384 (gx1v3) for low and high resolution grids, respectively. The input templates are located in models/ice/csim4/src/input_templates for 1, 3, 5 and 10 thickness categories on the default grid sizes of 100x116 and 320x384.

To create an input template with a number of categories other than the above values, copy an existing template that has the desired grid. Change ncat to the appropriate number of categories. ntilay, the total number of mid-layer temperature points in all ice thickness categories, must also be changed. The number of these points in each category is set in ice_vthermo.F in the subroutine init_thermo and depends on the number of categories chosen. The number of layers assigned to each category in the array nilay will have to be added to get the total number of layers. For example, for seven thickness categories, ntilay will be 22: two layers in each of the first three categories, and four layers in each of the last four categories.

The information in the initial condition file is dependent on the number of ice thickness categories. An initial condition file exists only for the default case of 5 ice thickness categories. To create an initial condition file for a different number of categories, the following steps should be followed:

Note that the date printed inside the binary restart file will not be the same as 0001-01-01. If the $RUNTYPE is 'startup', $BASEDATE will be the starting date and the date inside the file will not be used.

4.6.6 Using the Prescribed Ice Model

The prescribed ice model is typically used to do atmosphere only runs. It uses a specified ice concentration and will run on either the gx3 or the gx1v3 grid. This model is forced by AMIP data in netCDF format that contains monthly averaged sea surface temperature and ice concentration. The data in the file spans 243 months. The first two years of the dataset are climatology, represented by years 1976 and 1977. Year 1978 is a transition period where the data changes gradually so that by December of 1978, it will have reached the monthly observed data in a smooth fashion. The time series of observed data begins in January of 1979.

There two ways to force the prescribed ice model. The first option is to use use a single annual cycle of the climatological AMIP data repeatedly. The second is to use the 19 year time series of monthly averaged AMIP observations. For both forcing options, the following changes need to be made:

To use the climatological data:

To use the 19 year monthly averaged observed time series:

If PRESCRIBED_ICE_CLIM = .true. at the top of ice.setup.csh, the first year of climatological data from $ICE_DATA will be used. The following 19 years of consecutive AMIP forcing will be used if PRESCRIBED_ICE_CLIM = .false.. The model will stop if $BASEDATE is not set correctly. The prescribed ice model cannot be run with the ocean mixed layer model.

4.6.7 Using the Ocean Mixed Layer Model within CSIM4

An ocean mixed layer model has been incorporated into the ice model since docn5 does not allow frazil ice growth to occur. This is due to the minimum ocean mixed layer temperature being fixed at the freezing point. It is a simple slab ocean mixed layer model that is forced using output from a POP ocean simulation. More details on the physics of the ocean mixed layer model can be found in the Physics Documentation. This option can be run with the gx3 or the gx1v3 grid. To use the mixed layer model:

The variable $OML_ICE_SST_INIT determines the initial sea surface temperature. If the run is a startup run, this variable is set to true in the ice setup script, and the January 1 value of the sea surface temperature is read from the POP forcing file. Thereafter, the value of $OML_ICE_SST_INIT is set to false, and sea surface temperature and the freeze/melt potential is read from a restart file. The ocean mixed layer model cannot be run concurrently with the prescribed ice model. When the slab ocean mixed layer within the ice model is used, the data that is received from the coupler from the ocean component (docn or POP) is overwritten by the values calculated by the ocean mixed layer. Therefore, it is not appropriate to use the ocean mixed layer option with an active ocean model.

next up previous contents
Next: 4.7 Information Sent to Up: 4 Using CSIM4 Previous: 4.5 The Four Run   Contents