This version has been tested on an SGI O2 workstation, an SGI Challenge computer, a DEC ALPHA, a Fujitsu VPP700, and a SUN SunFire.
CKO specific modifications are:
Table of Contents
Downloading the Distribution
You can download a 48Mb gzipped tar file from here: micom-2.7-cko.tar.gz.
This distribution contains the source code of MICOM 2.7, the user manual,
several configuration files, and a climatology dataset consisting of Levitus
and COADS data. You can also use a climatology computed from 41 years (1960-2000)
of data from the
NCEP reanalysis
(3Mb). The input dataset read by MICOM is computed from the climatology
with a Ferret script. Note that this script requires Ferret version 5.0
or later. You can download a Ferret binary distribution from the
Ferret
home page.
In order to compile this MICOM version you also need the following libraries:
Installation
First, you should install the NetCDF, udunits, and Fields libraries.
To install the MICOM package you should create a directory MICOM and copy the downloaded file into it. After changing into the MICOM directory you can unpack the tar file with the command
gunzip -c micom-2.7-cko.tar.gz | tar xvf -Five subdirectories are created: bin contains some scripts and is the location where the MICOM executables will be stored, climatology contains the climatology dataset, config is where the configuration file of MICOM is located, doc contains some documentation, and the source code is stored in source directory.
You can prepare the software package for compilation by typing the command
./configure --with-parameters=SAThis command determines the location of the various commands (compiler, etc.) that are needed to build the MICOM executable. Note that this should be done on the machine on which the executable should run and only needs to be done once on every computer. In the case that the configuration script is not able to determine the location of the NetCDF, udunits, and/or Fields library you should add one or more of the following options to the configure command and run it again:
The configure script has several more options. Normally, you won't need to specify any of them. You can obtain a list of all options of the configure script with the command
./configure --helpBuilding the Executable
make installAll object files and executables can be removed by typing
make cleanRunning the Model
Creating a Custom Configuration
You can configure MICOM with two types of parameters: compile-time
parameters and run-time parameters.
Compile-Time Parameters
You can change compile-time parameters by copying the configuration
file SA in subdirectory config to a new file and editing
this new file. Table 1 below lists and describes these parameters. A brief
description of the parameters and their allowed values is also included
in the configuration file. Further information is available in the postscipt
document doc/user_guide.engl.ps.
Note that after creating a new configuration file or modifying an existing one you should reconfigure and recompile the executable in order for the modifications to take effect. In the case that your configuration file is name NA, and assuming that you have successfully configured MICOM before, you can do this by entering the following commands in the MICOM directory:
configure --with-parameters=NA
make clean
make install
After successful completion of these commands, the executable bin/micom-NA
and the subdirectory data.NA will have been created.
| Parameter(s) | Valid Value | Meaning |
| Rotated_Mercator_Projection | Yes or No | This parameter determines whether a rotated Mercator projection is used. Note that the Ferret script that generates the input dataset does not support the rotated grid yet. Therefore, you must set this parameter to 'No' if you want to use this script |
| Number_of_Rows | Integer value >= 1 | The number of rows in the domain. In the case of the Mercator projection, the row index increases with decreasing latitude. |
| Number_of_Columns | Integer value >= 1 | The number of columns in the domain. In the case of the Mercator projection, the column index increases with increasing longitude. |
| Mesh_Size | Real value > 0.0 | The size of the grid cell at the equator in degrees longitude. |
| Equator_Index | Real value | The grid row (or column) at which the equator is located. This
can be a non-integer number to indicate that the equator falls between
two grid rows (or columns). Note that the equator can lay outside
the domain. |
| Western_Boundary_Longitude | Real value >= -180.0 and < 180.0 | The longitude of the western boundary of the domain. Negative values mean western longitudes and positive eastern longitudes. |
| Number_of_Submerged_Segments | Integer value >= 1 | The largest number of segments of ocean on any grid row or column. |
| Number_of_Layers | Integer value >= 1 | The number of isopycnic layers. |
| Layer_Densities | Real values >= 22.0 and <= 28.0 | A comma separated list of Number_of_Layer elements specifying the layer densities in sigma units. |
| Density_Halfway_First_Layer | Real value > 0.0 and < first layer density | The density halfway between the sea surface and the the first layer. This value is needed by the Ferret script that generates the input dataset. It is used to compute the temperature and salinity at the proper depths. |
| Baroclinic_Time_Step | Real value > Barotropic_Time_Step | The baroclinic time step in seconds. |
| Barotropic_Time_Step | Real value > 0.0 and < Baroclinic_Time_Step | The barotropic time step in seconds. |
| Diagnostics_Frequency | Real value > 0.0 | This parameter specified at the time interval (in days) with which diagnostics are printed to the standard output. |
| Mixing_Frequency | Integer value >=1 | The number of time steps between diapycnal mixing calculations. |
| Base_Value_of_Specific_Volume | 2.5 10-2 | The base value of specific volume. |
| Drag_Coefficient | 1.3 10-3 | The drag coefficient. |
| Thermal_Transfer_Coefficient | 1.2 10-3 | The thermal transfer coefficient. |
| First_Weight_for_U_and_V_Fields,
Second_Weight_for_U_and_V_Fields |
0.750,
0.125 |
The weights for time smoothing of the U and V fields. |
| First_Weight_for_T_and_S_Fields,
Second_Weight_for_T_and_S_Fields |
0.875,
0.0625 |
The weights for time smoothing of the T and S fields. |
| Weight_for_Barotropic_Fields | 0.125 | The weight for time smoothing of the barotropic U, V, and P fields. |
| Thickness_Diffusion | 0.5 | Diffusion velocity for thickness diffusion in cm/s. |
| Momentum_Dissipation | 1.0 | Diffusion velocity for momentum dissipation in cm/s. |
| Min_Mixed_Layer_Thickness | Real value > 0.0 | The minimum thickness of the mixed-layer in meter. |
| Min_Density_Jump | 2.0 10-5 | The minimum density jump at the bottom of the mixed-layer in theta-units. |
| Nonlinear_Viscosity | 0.2 | Coefficient of nonlinear viscosity. |
| Diap_Diff_x_Buoy_Freq | 6.0 10-3 | Diapycnal diffusivity times buoyancy frequency in cm2/s2. |
| Boundary_Condition | Free or Non_Slip | The bottom boundary condition. |
| RMS_Bottom_Flow_Speed | 10.0 | The root mean square flow speed for the linear bottom friction law in cm/s. |
| Bottom_Layer_Thickness | 9.806 105 | The thickness of the bottom boundary layer in pressure units. |
| Pressure_Gradient_Weight | 9.806 105 | The depth interval used in lateral weighting of horizontal pressure gradient. |
| Thermodynamic_Forcing_Functions | On or Off | This parameter is used to create the initial namelist file parameters in the data directory. It can be changed there without requiring recompilation. |
| Wind_Stress | On or Off | This parameter is used to create the initial namelist file parameters in the data directory. It can be changed there without requiring recompilation. |
| Lateral_Boundary_Nudging | On or Off | This parameter is used to create the initial namelist file parameters in the data directory. It can be changed there without requiring recompilation. |
| Lateral_Boundary_Nudging_Width | Integer value >= 1 | The width of the boundary relaxation (or nudging) area in grid rows and columns. |
| Surface_Boundary_Nudging | On or Off | This parameter is used to create the initial namelist file parameters in the data directory. It can be changed there without requiring recompilation. |
| Row_Index_of_Test_Point | Integer value >= 1 and <= Number_of_Rows | The row index of the test point. |
| Column_Index_of_Test_Point | Integer value >= 1 and <= Number_of_Columns | The column index of the test point. |
| Name_of_Topology_Data_File | Basename of the file (no .nc!) | The name of the bathymetry/topography file. It is unlikely that you have to change this filename. |
Table 1: The compile-time configuration parameters.
Run-time Parameters
With the run-time parameters
you define the length of the model run and output frequency, select the
forcing and nudging data to be applied, and choose the data fields that
will be written to the history file. You can change these parameters by
editing the Fortran namelist file parameters in the data directory
that was created for your configuration (in our example, the subdirectory
data.NA).
A description of the parameters is given in the tables 2 to 4 below. After
you have finished editing the parameters, you can start the run as described
in Running the Model. Nearly all compile-time
parameters can be overriden from the parameters file.
Known Problems
There is one problem in MICOM 2.7 concerning the forcing data. The
interpolated forcing has a different mean than those of the climatology
as explained by Killworth in J. Phys. Oceanogr.,
26, 136-143. A
correction can be applied to most forcing data. However, some forcing data
(such as layer thicknesses at the domain boundaries) are computed from
the climatology. It is not yet clear yet how these data should be corrected.
Support
The CKO version of MICOM is supported at the S1 level (see also the
page on support levels). Let me know when you use this software by
sending an e-mail to c.severijns@knmi.nl.
You can also contact me at this address if you needed further information
about MICOM.
Return to the CKO MICOM page