The environment variable $RUNTYPE set in the main setup script specifies the state in which the model will begin a run. This variable has four options, 'startup', 'hybrid', 'continue' or 'branch', with 'startup' being the default setting. The four options are described in this section.
If $RUNTYPE is set to 'startup', the model will start from some arbitrary baseline state that need not be associated with any previous run. Startup runs are typically initialized using a $BASEDATE of 0001-01-01, although there is no dependence of these runs on previous case names or calendar dates. The ice model uses the $BASEDATE sent from the coupler on a startup run. The ice setup script will create a pointer file named rpointer.ice with the name of the initial restart file in it using $BASEDATE. The date read in from the restart file will be written over by $BASEDATE. The primary environment variables for a startup run are:
CASE test.a1 #new case name RUNTYPE startup BASEDATE 0001-01-01 #start date for initial run
Startup runs can start from a $BASEDATE other then 0001-01-01. Startup runs can also be initialized using data created within the ice model, as described in the next section.
Initial conditions can be calculated within the ice model in a subroutine called init_state in ice_init.F. Here, the ocean surface is initialized at the freezing point everywhere north of 40 degrees and south of -40 degrees latitude, allowing ice to form everywhere in these regions. While running the ice model with a data ocean will melt any extra ice during the first year of integration, is not recommended that these initial conditions be used when running the ice model coupled to an active ocean model. The advantage of using this input is that it is not grid or land mask dependent. To use these initial conditions, set RESTART in ice.setup.csh:
set RESTART = .false.
The input data file for the ice model is a binary restart file from a previous run. If $RUNTYPE is set to 'startup', the ice setup script is will read the initial condition file from the input data directory, iced.0001-01-01.$ICE_GRID regardless of $BASEDATE. For 'continue' runs, the input data file is determined by the filename set in the restart pointer file (see section 184.108.40.206). If $RUNTYPE is 'branch' or 'hybrid', the ice setup script will attempt to file a restart file with $REFDATE in the filename.
For the startup and hybrid setups, it is not necessary that the date inside the binary file match the date in the filename, since the $BASEDATE received from the coupler will override the date in the restart file. This will not be true for continue and branch runs, where the $BASEDATE is set in the model using the date in the restart file. Initializing the model using a restart file from an equilibrium run will result in a more physically reasonable scenario than the initial conditions set within CSIM4. The conditions in the initial restart file provided with CSIM4 are from an active ice only equilibrium run using modified NCEP forcing. The drawbacks are that the data is binary, difficult to edit, and is date and grid dependent. A restart file will be used as initial conditions if
set RESTART = .true.in ice.setup.csh.
A hybrid run should be used when a collection of arbitrary initial/restart files from previous runs is desired to start the model. A new $CASE and $BASEDATE can be specified. The ice model receives $BASEDATE from the coupler. The date read in from the restart file will be written over by $BASEDATE. The climate simulated by the hybrid run should be continuous compared to the previous run, but an exact restart will not be produced. If all components start from the same reference case and date, $REFCASE and $REFDATE can be used to specify the previous date and case. Generally, a hybrid run will require some modifications to the scripts by the user, especially if some components are starting from inconsistent runs or dates. The primary environment variables for a startup run are:
CASE test.a1 #new case name RUNTYPE hybrid BASEDATE 0001-01-01 #date where to start run REFCASE #reference case for initial/restart data REFDATE 0001-01-01 #date in REFCASE to obtain initial/restart data
A continue run is an exact continuation of a previous run. This means that the run will produce a bit-for-bit answer as if the existing run had not stopped. In this case, it is assumed that $CASE and $BASEDATE have not changed and that the date is continuous from the previous run. For a continue run, the only change required in the main script is to set:
RUNTYPE continueA change in the $BASEDATE is not necessary for a continue run, since the date is read in from the restart files, and the coupler checks to see that the dates between the component models match.
CASE new case name RUNTYPE branch BASEDATE date to start this run REFCASE reference case to branch from REFDATE date in REFCASE to obtain restart data