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

Subsections


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 gx3v4 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_gx3v4, 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 gx3v4 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 gx3v4 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)
                     (19,20,21,22)(23,24,25,26)(27)(28)}
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 4.1.3.6 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 (gx3v4) 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 coupled runs with an active atmosphere. It reads in monthly averaged ice concentrations that are used as a fixed lower boundary condition. This option will run on either the gx3v4 or the gx1v3 grid and cannot be run with the ocean mixed layer model within the ice model.

Two datasets are available to force the prescribed ice model. Both are in netCDF format, based on SSMI data, and contain sea surface temperature. The first is AMIP data that is available in a one year climatology and a 243 month time series. The second dataset was created by Jim Hurrell at NCAR and is currently available in a one year climatology. To use the prescribed ice model with either dataset, verify that the following variables are set in the main script:

and that the following change is made in the ice setup script:

The following sections describe what changes need to be made to the ice setup script to use the desired dataset.

4.6.6.1 Using the Hurrell dataset

One advantage of using the Hurrell dataset is that it was used to create the CAM2 forcing datasets used in datm5, so they are consistent. By default, the prescribed ice model will use the Hurrell dataset and will cycle through the single climatological year repeatedly. The following variable should be set in ice.setup.csh:

Since there is currently no time series for the Hurrell data, $PRESCRIBED_ICE_CLIM must be set to .true. in this case. The ice setup script will exit if PRESCRIBED_ICE_CLIM = .false. and the Hurrell dataset is selected. The file names for this data set are already set using the variable $PICE_DATA:

  if ($ICE_GRID == 'gx1v3') \
       set PICE_DATA = sst_clim_hurrell_gx1v3_020827.nc
  if ($ICE_GRID == 'gx3v4') \
       set PICE_DATA = sst_clim_hurrell_gx3v4_020827.nc

4.6.6.2 Using the AMIP dataset

The climatological and time series AMIP data are contained in a single file. 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.

To use the AMIP forcing the following changes will have to be made to $PICE_DATA in the ice setup script:

  if ($ICE_GRID == 'gx1v3') \
       set PICE_DATA = AMIP_bcgx1v3_1976-1996_010817.nc
  if ($ICE_GRID == 'gx3v4') \
       set PICE_DATA = AMIP_bcgx3v4_1976-1996_020801.nc

There two ways to force the prescribed ice model with AMIP data. The first option is to use use a single annual cycle of the climatological repeatedly. The second is to use the 19 year time series of monthly averaged observations.

To use the climatological data:

To use the 19 year monthly averaged observed time series:

The ice setup script will exit if $PRESCRIBED_ICE_CLIM = .false. and $BASEDATE is not set correctly.


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 gx3v4 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
csm@ucar.edu