The CSIRO Mk3L climate system model is a computationally-efficient coupled atmosphere-sea ice-ocean general circulation model, suitable for studying climate variability and change on millennial timescales. The atmospheric component of Mk3L comprises a spectral general circulation model, a sea ice model and a land surface model. A coarse horizontal resolution of R21 is employed, giving zonal and meridional resolutions of 5.625◦ and ∼3.18◦ respectively. A hybrid vertical coordinate is used, with 18 vertical levels. The model incorporates both a cumulus convection scheme and a prognostic stratiform cloud scheme. The radiation scheme treats longwave and shortwave radiation independently, and is able to calculate the cloud radiative forcings. Code has been incorporated to calculate the values of the Earth’s orbital parameters, enabling them to be varied dynamically at runtime. The sea ice model includes both ice dynamics and ice thermodynamics. The land surface model allows for 13 land surface and/or vegetation types and nine soil types, and incorporates prognostic soil and snow models. The vegetation types and land surface properties are pre-determined, however, and are therefore static. The oceanic component of Mk3L is a z-coordinate general circulation model. The horizontal resolution is double that of the atmospheric component, with four oceanic gridboxes exactly matching each atmospheric gridbox. The zonal and meridional resolutions are therefore 2.8125◦ and ∼1.59◦ respectively, and there are 21 vertical levels. The prognostic variables are potential temperature, salinity, and the zonal and meridional components of the horizontal velocity. The vertical velocity is diagnosed through the application of the continuity equation. In situ density is calculated using the equation of state of McDougall et al. (2003). The scheme of Gent and McWilliams (1990) is employed, in order to parameterise the adiabatic transport of tracers by mesoscale eddies. The coupling between the atmosphere and ocean models within Mk3L rigorously conserves both heat and freshwater. Flux adjustments can be applied within the coupled model, although the control climate of the model is stable on millennial timescales even when flux adjustments are not employed. The source code has been designed to ensure that Mk3L is portable across a wide range of computer architectures, whilst also being computationally efficient. Dependence on external libraries is restricted to the netCDF and FFTW libraries, both of which are freely available and open source, while a high degree of shared-memory parallelism is achieved through the use of OpenMP directives. On an eight-core Intel Nehalem processor, Mk3L can complete a 1000-year simulation in around three weeks.