Users’ Guide for the T63L30 OGCM_1.0 Zhou Tianjun, Jin Xiangze and Zhang Xuehong LASG, Institute of Atmospheric Physics (IAP) of the Chinese Academy of Science (CAS) May 20th , 2000 ⅠModel use (I) Run the model 1. Code There are three subdirectories in the directory of T63L30: ⑴FILE:to place the source codes,including 24 “.f” FORTRAN programs、6 “.h” files which define parameters and dimensions,and makefile。 ⑵FORT22:to put the field of December 31st of each year for restarting the model. The file names are “fort.22.????Dec”,in which “????” indicates the model year. ⑶OMMEAN:to save the model results. 2. Description for model run In UNIX system,in the subdirectory FILE, the special subdirectory for the ocean model, run “make”, by virtue of “makefile” compiling the source codes, producing the executable file L30T63_OGCM, then return the father directory of FILE, run the model. After the model run, there are information outputs to the screen for monitoring the model run, including parameters and energy balance. These outputs can be saved to a file for analysis need. In addition, there is a text file “modeltime”, which may be modified by model output for monitoring the current model date. (II) Input parameters Three aspects are included: the model integration time (month), the time interval (year) of output results and the start state (1 indicates the initial run and 0 indicates the continue run). These parameters are defined in the file “ccinput”. In addition, sea surface forcing fields also need in the model run. The data of sea surface forcing are saved in the file “MODEL.FRC”, which can be read from file channel No. 90 by the subroutine program “rdriver.f”, no more interfere by users. (III) Model output The output variables are sea surface height, sea ice area, sea ice thickness, convection frequency (the numbers of convection), temperature, salt, zonal and meridinal current speed. The process is controlled by the subroutine “SSAVE.f”. It is noticed that the ocean model output data is very large, so in order to save space these three dimension variables , such as temperature, salt, zonal and meridinal current speed, just are saved for the upper 5 levels in the first 11 month each year; they are saved for the all 30 levels in the last month (December). The saving uses unformatted manner. If all 30 level results need, the “KLV” should be defined as 30 in the file “SSAVE.f”. II Model structure 1. Model principal Refer to the technical guide to ML20 in attachment. 2. The structure of the subroutine File name Function Included param.h Subroutine files grid parameters: IMT=194, JMT=92, KM=30 tracer numbers: NTRA=2 IMM=193, JMM=91, KMP1=31, KMM1=29 comblk.h 16 common blocks for all the model’s variables dncoef.h Normalized , S, and the coefficients of a 3rd-order polynomials for sea water state equation of Bryan and Cox (1972) isopyc.h common block for isopycnal diffusion variables pconst.h common blocks for land/sea mask 1-d grid-, time-, and physical parameters pmix.h common block for calculating Richardson number in order to computing vertical mixing coefficients based on Pacanowski & Philander (1981). Main program main.f main program Subroutines accumy.f accumulate prognostic variables for monthly mean output use ACCUMM addps.f compensating the loss of gross mass ADDPS barotr.f solve the barotropic mode of momentum equations BAROTR bclinic.f solve the baroclinic mode of momentum equations BCLINIC comqd.f const.f calculate Haney’s Q and D COMQD set physical constants, B-C state equation coefficients, time CONST steps, calendar constants, and mixing-controllor ISOP (not finished) convadj.f GFDL's full convective adjustment CONVADJ density.f calculate density in terms of the 3rd-order polynomials of B-C DENSITY formula energy.f Calculate the total kinetic energy,total available potential ENERGY energy,total avaiable surface potential energy,and total mass . filter.f perform 1-D zonal fouriour filtering FILTER grids.f produce all the grid parameters GRIDS Sea ice model ICESNOW inirun.f Initialize the model INIRUN intfor.f Interpolates monthly mean fields INTFOR ice.f isopycmix.f isopycnal mixing scheme of Gent_McWilliams (1990) ISOPYI ISOPYC ISOADV ISOPLUX readyc.f calculate the advective and viscous terms in the barotropic and READYC baroclinic modes of momentum equations readyt.f calculate the buyancy, pressure-gradient, and other terms READYT related to -coordinates in the barotropic and baroclinic modes of momentum equations rdriver.f smth.f Read in climatological forcing fields RDRIVER Perform nine-points smoothing for 2-D variables or 3-D SMOOTH variables; Perform 1-D zonal smoothing SMOOT3 SMT ssave.f output some prescribed monthly mean variables at the end of SSAVE each month,and yearly mean variables at the end of each year. tracer.f solve tracer equations (isopycnal mixing not finished) TRACER, INVTRI upwell.f calculate vertical velocity UPWELL vinteg.f Perform vertical integration VINTEG 3. The management of hard disk and save directories The outputs are saved in the subdirectories “OMMEAN”. They are the fields of monthly mean, and the file names are MMEAN????Jan 、 MMEAN????Feb 、 MMEAN????Mar 、 MMEAN????Apr、MMEAN????May、MMEAN????Jun、MMEAN????Jul、MMEAN????Aug、 MMEAN????Sep、MMEAN????Oct、MMEAN????Nov、MMEAN????Dec,in which the “????” indicate the current model year. 4. The step for the model run When the model starts, there are two state for the initial field: (1) If the ocean state is immobile, the initial temperature and salt fields (annual mean state of observation) need to be read. The data are saved in the unformatted file “TSinitial”, which can be read from the file channel No. 81. (2) If the ocean is integrated from a middle state, the ocean state data (including sea surface height, temperature, salt, current speed, sea ice area and sea ice thickness) in the start model year need to be copied from the directory FORT22 to fort.22 in the current directory, that is the FORT22/fort.22????Dec need to be copied to fort.22, in which, the “????” indicates the current model year, such as 2220. It is noticed that the choice for weather the ocean is immobile need to be defined in the file “ccinput”. In generally, a ocean model need for a long time (thousands years) to turn to the equilibrium state, so experiments should run after the spinup process. In another word, when experiments are used for research, the start state should select the latter choice. III Model variables and parameters Table 3.1 The prediction variables(in COMMON /NVAR1/) variables Account Unit UB (IMT,JMT) Barotropic velocity in zonal direction ms-1 VB (IMT,JMT) Barotropic velocity in meridional direction ms-1 H0 (IMT,JMT) Sea surface elevation m UBP(IMT,JMT) Same as UB(i,j) but for previous step ms-1 VBP(IMT,JMT) Same as VB(i,j) but for previous step ms-1 H0P(IMT,JMT) H0(i,j) at previous step m U (IMT,JMT,KM) Total zonal velocity, positive for eastward ms-1 V (IMT,JMT,KM) Total meridional velocity, positive for southward ms-1 Vertical velocity in η-coordinate sec-1 UP(IMT,JMT,KM) Same as U(i,j,k) but for previous step ms-1 VP(IMT,JMT,KM) Same as V(i,j,k) but for previous step ms-1 WS(IMT,JMT,KMP1) AT(IMT,JMT,KM,NTRA) ATB(IMT,JMT,KM,NTRA) Table 3.2 Two-dimension prediction variables(in COMMON /NVAR2/) Variables Account Unit H0L(IMT,JMT) Sea surface elevations deduced from H0(i,j) m H0F(IMT,JMT) Sea surface elevations deduced from H0(i,j) m H0BL(IMT,JMT) Sea surface elevations deduced from H0(i,j) m H0BF(IMT,JMT) Sea surface elevations deduced from H0(i,j) m UTL(IMT,JMT,KM) Zonal velocity deduced from U(i,j,k) ms-1 UTF(IMT,JMT,KM) Zonal velocity deduced from U(i,j,k) ms-1 VTL(IMT,JMT,KM) Meridional velocity deduced from V(i,j,k) ms-1 VTF(IMT,JMT,KM) Meridional velocity deduced from V(i,j,k) ms-1 Table 3.3 Sea ice prediction variables(in COMMON /NSICE/) Variables Account ITICE(IMT,JMT) Index field of sea ice(=1 for ice and 0 for water) ALEAD(IMT,JMT) Percentage of area covered by ice TLEAD(IMT,JMT) The increase of SST in the leads HI(IMT,JMT) Unit Thickness of sea ice Table 3.4 K Meter Sea surface forcing fields(in COMMON /NCYC/) Variables Account SU3(I2,J1,12) Climatological monthly mean zonal wind stress at sea surface Unit 10-3Nm-2 for the m-th month SV3(I2,J1,12) Climatological monthly mean meridional wind stress at sea 10-3Nm-2 surface for the m-th month PSA3(I2,J1,12) Climatological monthly mean sea surface air pressure for the hPa m-th month TSA3(I2,J1,12) Climatological monthly mean sea level air temperature for ℃ the m-th month SSS3(I2,J1,12) Climatological monthly mean sea surface salinity for the m-th psu month SWV3(I2,J1,12) Climatological monthly mean solar radiation absorbed by the Wm-2 surface for the m-th month UVA3(I2,J1,12) Climatological monthly mean sea surface wind speed for the ms-1 m-th month QAR3(I2,J1,12) Climatological monthly mean surface air mixing ratio for the - m-th month CLD3(I2,J1,12) Observed monthly mean cloud fraction for the m-th month percentage Table 3.5 Model output variables(in COMMON /NMMN/) Variables Account Z0MON(I2,J1) Monthly mean sea surface elevation WSMON(I2,J1,K0) Monthly mean vertical velocity in z-coordinate TSMON(I2,J1,K0) Monthly mean temperature Unit m ms-1 ℃ SSMON(I2,J1,K0) Monthly mean salinity psu USMON(I2,J1,K0) Monthly mean zonal velocity ms-1 VSMON(I2,J1,K0) Monthly mean meridional velocity ms-1 HIMON(I2,J1) Monthly mean sea-ice thickness m HDMON(IMT,JMT) Monthly mean average thickness of sea ice in one grid ICMON(IMT,JMT,2) Frequency of convection within a month m unitless Table 3.6 Parameters I(in COMMON /NMIX/) Parameters Value Account AM 0.5 105 m2 s1 for 50°N-60°S, Lateral eddy viscosity coefficient 2.0 105 m2 s1 for the other region AMV 1.0 104 m2 s1 Vertical viscosity coefficient AH 2.0 103 m2 s1 Lateral diffusion coefficient AHV(KM) 0.3 104 m2 s1 Vertical diffusion coefficient AHICE = AHV ( 0) Diffusivity between ice & water Table 3.7 Parameters II(in COMMON /NCN1/) Parameters Value Account D0 1029.0 kg m3 CP 3901.0 J kg 1 K 1 Reference density of sea water, o specific heat of sea water at constant pressure, cp 9.806 m s2 Acceleration of gravity, g C0 2.6 103 bottom friction coefficient TBICE -1.8 C frozen point of sea water G 1 OD0 0 SAG sin g g = 10 (bias angle of bottom friction) CAG cos g g = 10 (bias angle of bottom friction) OD0CP C RSD 0 1 p AMV 0 1 total area of the model’s surface layer ASEA AFB1 0.025 AFB2 1 2 B AFC1 0.43 AFC2 1 2 C AFT1 0.43 AFT2 1 2 T Asselin Filter coefficient, B Asselin Filter coefficient, C Asselin Filter coefficient, T Table 3.8 Parameters for integration and time control(in COMMON /NCMN/) Parameters Value Account DTB t B =FLOAT(IDTB) IDTB=120 seconds DTC tC =FLOAT(IDTC)*60.0 IDTC=240 minutes DTS tT =FLOAT(IDTS)*3600.0 IDTS= 8 hrs DTB2 2 t B DTC2 2 tC NBB N B tC / t B Barotropic steps within one baroclinic step NCC N C tT / tC Baroclinic steps within one thermohaline step NSS 24/IDTS ONBB N B 11 ONBC N C N B 11 ONCC N C 11 ISB 0 for Euler-forward scheme steps for thermohaline process per day switch on Euler-forward or leap-frog scheme for barotropic mode ISC 0 for Euler-forward scheme switch on Euler-forward or leap-frog scheme for baroclinic mode IST 0 for Euler-forward scheme switch on Euler-forward or leap-frog scheme for thermohaline process NMONTH /31, 28, 31, 30, 31, 30, 31, 31, 30, (12) 31, 30, 31/ MSTART /16, 14, 16, 15, 16, 15, 16, 16, 15, (12) the day of mid-month 16, 15, 16/ ABMON / 'Jan', 'Feb', 'Mar',' Apr', 'May', (12) day number of each calendar month Character string for naming the monthly 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', mean outputs 'Dec' / Attachment: Technical Guide to ML20 (the previous edition of T63L30_OGCM) A2.1 INTRODUCTION The component OGCM of the GOALS/IAP model is the ML20-1, of which the main features can be summarized as follows (see Jin et al., 1999, Chapter 5 in this book for details): The model is a fully primitive equation model with a free surface instead of using rigid-lid approximation. The zonal mean standard stratifications of temperature and salinity, as well as density and pressure are introduced into the model’s governing equations. Thus, all the thermodynamic variables in this model are replaced by their departures from the standard stratifications. The climatological zonal mean thermohaline structure is used as the model’s initial conditions, which may be helpful in accelerating the convergence of the model’s thermohaline structure. The -coordinate system (Mesinger et al., 1985; Yu, 1989) is adopted to describe both the free surface and the complex bottom topography. A method for separating and coupling external and internal modes in ocean models with a free surface, combined with the Asselin time-filter (Asselin, 1971) , is used in the model’s time integration. Thus, the time step of the internal-mode integration is free from the critical limitation related to surface gravitational waves. Within the internal mode, the thermohaline process is further separated from the momentum process. A simple thermodynamic sea-ice model is incorporated into the ocean model. The model domain covers the global scope except the North Pole with the horizontal resolution of 45 in the colatitude-longitude coordinates. Arakawa's B-grid (Betteen et al., 1981) is used in the model. There are twenty layers in vertical direction covering the maximum depth of 5000m. The model’s topography and geometry is generated based on 1 1 data of Gates and Nelson (1975). The sea surface forcing fields for driving the model include: Sea level air pressure (Esbensen and Kushnir, 1981) Sea level air temperature (Esbensen and Kushnir (1981) combined with the ECMWF ten-year averaged analysis data in high latitudes) Sea surface wind stress (Hellerman and Rosenstein, 1983) Snowfall (set to zero here) Sea surface salinity (Levitus, 1982) Solar radiation arrived at the surface (Esbensen and Kushnir, 1981) Sea surface wind speed (Esbensen and Kushnir, 1981) Surface air mixing ratio (Esbensen and Kushnir, 1981) Cloud fraction (Esbensen and Kushnir, 1981) All of these data are packed into a file, fort.90. Before running the model, three control parameters listed in a file ccinput should be prescribed. NUMBER = the integration length in month. NSTART = the switch for setting the initial conditions. If set to 1 the model is integrated from a motionless state, otherwise from a restarted condition given by a file fort.22. MFOPUT = the time interval for outputting monthly mean results. In addition, a parameter NUP is defined in the program MAIN for choosing the diffusion scheme. The traditionally diffusion scheme is applied if NUP is set to 1; otherwise, it is replaced by an “upwind” finite-difference scheme where the explicit diffusion term in temperature and salinity equations is discarded. The NUP is defaulted at 1 in the model. A2.2 NUMERICAL SCHEME A2.2.1 Grid Arrangement The horizontal grid system is a rectangular Arakawa staggered B grid, with i (1 i 74) and j (1 j 46) representing the discretized coordinates in - and - directions, respectively. The vertical layers are numbered by k (1 k 20) in the order from top to bottom (see Table 5.2). According to the definition of B-grid, two kinds of cells, i.e. "T-cells" and "V-cells" are defined. Temperature, salinity and density are defined at the center of each T-cell (T-point). Similarly, the zonal and meridional velocity components are defined at the center of each V-cell (V-point). It should be kept in mind that the southward meridional velocity component is defined as positive due to using the colatitude-latitude coordinate system. In addition, pressure and vertical velocity (positive in upward direction) are defined at the center of the bottom faces of T-cells, and sea surface height is defined at the center of the surface of the uppermost T-cells. The T-cell with i=1 and j=1 is located at the point (90N, 0), and the V-cell with i=1 and j=1 is located at the point (88 N, 2.5W). The cells with i=73 and 74 are overlapped with the cells with i=1 and 2, respectively. There are two integer three-dimensional arrays, i.e. IT(74,46,20) and IV(74,46,20), giving the land-sea marks on the T-cells and V-cells, respectively. These two three-dimensional index arrays are saved in the files, fort.71 and fort.72, respectively. A2.2.2 Time Integration The “Leap-frog” time integration scheme is used for barotropic mode, baroclinic mode and thermohaline mode with different time steps. An “Euler-forward” scheme is applied at the first step of each month to prevent the separation of the solutions at odd and even time steps due to the use of “leap-frog” method. In order to enlarge the time steps and to ensure the computational stability, the Asselin time-filter (Asselin, 1971) is adapted at each time step as follows, Fs (1 )F n n 1 (F F n 1 ) 2 (A2.1) where Fs is the smoothed solution while F may be the barotropic velocities, sea surface height, baroclinic velocities, temperature and salinity. In the code, ( 1 ) and / 2 are defined as AFB1 and AFB2 (=0.025) for barotropic mode, AFC1 and AFC2 (=0.86) for baroclinic mode, and AFT1 and AFT2 (=0.86) for thermohaline mode. A2.2.3 External-Internal Mode Interaction The model integration is separated into three parts. The external (barotropic) mode is calculated in the subroutine BAROTR, predicting the sea surface height and the brotropic velocities, u and v . The internal (baroclinic) mode is calculated in the subroutine BCLINC, predicting the total velocities, u and v. The thermohaline mode is calculated in the subroutine THERMO, predicting the perturbed temperature, T , and salinity, S . At first, the external mode is integrated N B times with a time step t B to match a baroclinic step. Then the internal mode is integrated once with a time step tC N B tB , while the thermohaline process remains unchanged during this step. Since the internal and external modes have different truncation errors, so that the vertical integrals of the (u, v) may depart slightly from ( u , v ) during the course of a long integration. We therefore adjust (u, v) at the end of each baroclinic step by replacing the vertical averages of (u, v) with the updated ( u , v ). Based on the updated baroclinic velocities, the diagnostic vertical velocity is calculated in terms of the continuity equation. Finally, after N C baroclinic steps, the thermohaline mode is integrated with a time step of tTS N C tC . A2.3 LIST OF MODEL PROGRAMS The model programs are listed in the followings with brief descriptions about what they do. A2.3.1 Program MAIN Program MAIN contains the program-flow control, and the input of model’s control parameters (NUMBER, NSTART and MFOPUT) and index fields (fort.71 and fort.72). It becomes a subroutine in the programs of the GOALS model. A2.3.2 Subroutine ADDPS This subroutine is used for compensating the loss of the total volume of model’s ocean by having the global averaged sea surface height equal to zero. Theoretically the finite-difference scheme of the continuity equation has been designed to keep the total volume conservation, but the conservation may be destroyed by the round-off error of computer. A2.3.3 Subroutine ADJUST This subroutine contains an explicit convection scheme, which may totally remove all gravitational instability in the water column. The potential density of seawater is calculated in terms of the polynomial formula given by Bryan and Cox (1972) with the reference level at the sea surface. A2.3.4 Subroutine BAROTR This subroutine is used to solve the vertically integrated velocity components, u and v , and the sea surface height, zo. The equations for u and v can be derived by vertically integrating Eqs.(5.20) and (5.21). The vertical integrals of the advection and viscosity terms (DLUB and DLVB, see Table A2.1) are calculated in the subroutine READYC in advance. Additional barotropic viscosity terms are introduced into the equations following the method of Killworth (1991). This method actually provides some horizontal smoothing in the barotropic equations and it is beneficial to the stability of the model. In addition, a semi-implicit scheme is used for the Coriolis terms both for barotropic mode in this subroutine and for baroclinic mode in subroutine BCLINC. A2.3.5 Subroutine BCLINC This subroutine is used to solve the momentum equations to obtain baroclinic velocities. The advection and viscosity terms (including surface wind stress and bottom friction) are calculated in the subroutine READYC. The coupling between the barotropic and baroclinic mode is performed after u and v updated. Finally, the vertical velocity is calculated by subroutine UPWELL. A2.3.6 Subroutine COMQD This subroutine is used to calculate two coefficients D and Q in the Eq.(5.32), a generalized form of the Haney-type surface heat flux formula (Haney, 1971): D 4 0.985 (0.39 0.05 e A )(1.0 0.6n c2 ) TA3 0.622 e (T ) 2353 ln 10 s 2A A C D VA c p L TA ps (A2.2) Q (1 g )SA 0.985 (0.39 0.05 e A )(1.0 0.6n c2 ) TA4 0.622 qA e s (TA ) 1.0 A C D VA L q s (TA ) ps (A2.3) where the external forcing fields include the sea surface air temperature (T A), pressure (p A) , humidity (qA), wind speed (VA), total cloudiness (nc), and incoming solar radiation at the surface (SA). These variables are daily updated. A2.3.7 Subroutine CONST and CONSJK These two subroutines produce most of constants used in the model, such as time integration steps, depth of each layer, Asselin low pass filter coefficients, parameters of physical processes, and finite-difference coefficients related to the grid parameters etc. A2.3.8 Subroutine ENERGY This subroutine calculates of the total kinetic energy (EK), total available potential energy (EA), total available surface potential energy (EAS) and total mass perturbation of free surface (TM). All of these variables are used to monitor the integration process of the model. EK 1 0 (u 2 v 2 )a 2 sin dddz 2 EA EAS ( ~ ) 2 2 a sin dddz d 2g dz 1 0 g(z 0 ) 2 a 2 sin dd 2 TM 0 z 0a 2 sin dd (A2.4) (A2.5) (A2.6) (A2.7) A2.3.9 Subroutine FFORCE This subroutine is used to calculate the perturbed sea surface air pressure and its gradient, and to prepare some intermediate variables or coefficients for solving temperature and salinity equations. A2.3.10 Subroutine ICESNOW This subroutine contains a simple thermodynamic sea ice model described in the section 5.2.2. The initial thickness of sea ice is set to 5 cm. There will be no snow remained if sea ice is totally melted. A2.3.11 Subroutine INIRUN This subroutine is used to initialize the model. If NSTART=1, the model will be integrated from the first month (MONTH=1) of the model. The initial perturbed temperature and salinity, velocity, as well as the sea surface height are set to zero. If NSTART=0, the model will be integrated from a restarted data set contained in a file, fort.22. If the model is not restarted from Jan. 1, another data file fort.21 is required for obtaining correct annual mean output. The initial barotropic velocities are obtained by vertical integrations of the baroclinic velocities, and the initial vertical velocity is calculated by subroutine UPWELL. A2.3.12 Subroutine MSO AND ZLEVI These two subroutines cast the observed zonal mean temperature and salinity of Levitus (1982) on model’s grid system, calculate the zonal mean meridional pressure gradient, and calculate global mean density (see Eq.(A2.8-11)) and its vertical gradient which is required for calculating total available potential energy in subroutine ENERGY. A2.3.13 Subroutine RDRIVER This subroutine reads in ten climatological monthly mean forcing fields for driving the model. They are the zonal and meridional components of sea surface wind stresses, sea level pressure, sea level air temperature, sea surface salinity, snowfall, solar radiation at sea surface, sea surface wind speed, sea surface air mixing ratio and cloud fraction. The annual mean forcing fields are calculated in this subroutine, which will be used to drive the model if the switch (NA) is set to 1 in the program MAIN. In order to parameterize the brine rejection effect in the freezing process, the observed sea surface salinity is enhanced artificially in a region around the Antarctic. This artificial salinity-enhancement should be replaced by using a parameterization of brine rejection in sea ice model in the future. A2.3.14 Subroutine READYC This subroutine is used to calculate the horizontal/vertical advections and viscosities in the momentum equations, and their vertical integrations. The surface wind stress and the bottom friction stress are used in surface and bottom boundary conditions. A2.3.15 Subroutine READYT This subroutine calculates the perturbed density, buoyancy, perturbed pressure and its zonal and meridional gradients, as well as some variables related to the transformation from z-coordinate to -coordinate. The density is calculated based on the formula of Eckart (1958): 103 P b1 b 2 0.689(P b1 ) P P(z) 1 z 10.13 (A2.8) (A2.9) b1 b1 (T, S) 5890 38T 0.375T 2 3S (A2.10) b 2 b 2 (T, S) 1779.5 11.25T 0.0745T 2 (3.8 0.01T)S (A2.11) The units for T, S and are ºC, psu and kg m 3 , respectively. A2.3.16 Subroutine SFIELD This subroutine computes some intermediate quantities, which are kept unchanged during the model’s integration. A2.3.17 Subroutine SSAVE This subroutine is used to produce the restart file fort.22 and fort.21. These two files are updated automatically every month. In addition, the file fort.22 produced at the end of each year will be saved automatically every ten years in a separated file, e.g., fort.22.1100Dec (which represents the restart data at the end of the December of the 100th model year). To output z- vertical velocity, the following equation z w H m o s 1 s z o t v 1 s z o (A2.12) can be used. A2.3.18 Subroutine THERMO This subroutine contains the solver of temperature and salinity equations. A2.3.19 Subroutine UPWELL This subroutine calculates the vertical velocity in -coordinate based on the continuity equation. A2.3.20 Subroutine VITVU This subroutine generates several index fields based on IT and IV, which are used in finite-difference calculations. A2.3.21 Utility Subroutines Three major utility subroutines are ICSSCU (Spline smoother), ICSIVU (Spline interpolation), DCSEVU (Spline derivation). All these subroutines are copied from IMSL (International Mathematical and Statistical Library) and can be easily understood by reading the explanation lines in the code. A2.4 FORTRAN DICTIONARY Included in Table A2.1 are the FORTRAN symbols of the model program code, which are listed alphabetically with a brief description. The subscripts, i (1 i 74) and j (1 j 46), represent the discretized coordinates in - and - directions, respectively, k (1 k 20) for vertical layers from top to bottom and m (1 m 12) for month. All of these symbols are defined in the common block file, comblk.h. The other temporal and local variables are not listed here. Table A2.1. FORTRAN Dictionary (A-C) Symbol A Subroutine CONST, CONSJK, Description radius of Earth, a, (6,371,000 m) MSO ABMON(m) SSAVE Character*3, (Jan, Feb, . . . Dec) AFB1, AFB2 CONST,BAROTR Asselin filter coefficients for barotropic mode, see Eq.(A2.1) AFC1, AFC2 CONST,BCLINC Asselin filter coefficients for baroclinic mode, see Eq.(A2.1) AFT1, AFT2 CONST, Asselin filter coefficients for thermohaline mode, see Eq.(A2.1) AM CONST, BAROTR horizontal viscosity, AMH, (8.0105 m2s-1), see Eq.(5.7) ASEA SFIELD,ADDPS non-dimensional total surface area of model’s ocean AT1, AT2, AT3, CONST,ADJUST coefficients for calculation of potential density (Bryan and Cox, THERMO ATS, AT2S, 1972) AS1, AS3, AS2T BKI CONST,ICESNOW ice conductivity, I, (2.04 Wm-1K-1), see Eq.(5.39) BKS CONST,ICESNOW snow conductivity S, (0.31 Wm-1K-1), see Eq.(5.38) BKW ICESNOW o cp AHV(0) C0 CONST,READYC bottom frictional coefficient, C0, (2.610-3), see Eq.(5.36) CAG CONST,READYC cosine of the Ekman deflection angle, , see Eq.(5.36) CLD3(i,j,m) INTFOR,RDRIVER monthly mean cloudiness, nc, see Eq.(A2.2) and (A2.3) CP CONST,FFORCE, specific heat of sea water, cp, (3901.0 J kg-1 K-1) COMQD CV1(j) CONSJK,BAROTR a 2 1 ctg2 j1/ 2 , see Eq.(5.7) CV2(j) CONSJK,BAROTR a 2 ctg j1/ 2 sin j1/ 2 1 , see Eq.(5.7) Table A2.1 (Continued) (D) Name D0 Subroutine CONST, ENERGY Description reference sea water density, 0, (1029.0 kg m-3) READYC, READYT DB00(k) MSO globally averaged density, z in kg m-3 DBB(j,k) MSO, ENERGY, (, z) in kg m-3, see Eq.(5.9) standard zonal mean density, ~ READYC DBDZ(k) MSO, ENERGY DDD(i,j) FFORCE, for calculation of the total available potential energy z heat flux coefficient, D in Wm-2 K-1, see Eq.(5.32) ICESNOW DHI(i,j) ICESNOW freezing rate of sea ice in ms-1, see Eq.(5.45) DLU(i,j,k) READYC, BCLINC L(u ) H m2 u 1 ctg 2 2ctg v A MV A MH u u 2 2 a a sin see Eqs.(5.21) DLV(i,j,k) READYC, BCLINC L( v) H m2 v 1 ctg 2 2ctg u A MV A MH v v 2 2 a a sin see Eqs.(5.20) DLUB(i,j) BAROTR 1 0 DLU d , see A2.3.4 S S DLVB(i,j) BAROTR 1 0 DLV d , see A2.3.4 S S DTB CONST, BAROTR time step for barotropic mode, tB in sec DTB2 CONST, BAROTR 2tB DTC CONST, BCLINC time step for baroclinic mode, tC in sec DTC2 CONST, BCLINC 2tC DTS CONST, THERMO time step for thermohaline process, tTS in sec DTS2 CONST, THERMO 2tTS DX CONSJK longitudinal width of cell , =/36 (5) DY(j) CONSJK latitudinal width of cell, =/45 (4) DZAB(i,j,k) SFIELD, READYC k Hm (Hb)-1 at T-point DZABU(i,j,k) SFIELD, VINTEG k Hm (Hb)-1 at V-point DZP(k) CONSJK, SFIELD, -thickness of the k-th layer, k, see Eq.(5.14) ENERGY, UPWELL DZPH(i,j) SFIELD, BAROTR total -thickness, s, at T-point, see Eq.(5.14) Table A2.1 (Continued) (E-G) Name Subroutine Description EA0 INIRUN, ENERGY total available potential energy, see Eq.(A2.5) EAS0 INIRUN, ENERGY total available surface potential energy, see Eq.(A2.6) EBEA(j), EBEB(j) CONSJK, BAROTR parameters used in Coriolis adjustment process at Euler forward step in barotropic mode EBLA(j), EBLB(j) CONSJK, BAROTR parameters used in Coriolis adjustment process at leap-frog step in barotropic mode EK0 INIRUN, ENERGY total kinetic energy, see Eq.(A2.4) EPEA(j),EPEB(j) CONSJK, BCLINC same as EBEA and EBEB except for baroclinic mode EPLA(j),EPLB(j) CONSJK, BCLINC same as EBLA and EBLB except for baroclinic mode G CONST, MSO, gravitational acceleration of Earth, g, (9.81 ms-2) READYT, BAROTR, BCLINC, ENERGY g in ms-2, see Eq.(5.26) 0 GG(i,j,k) READYT buoyancy at T point, g GGU(i,j,k) READYT, BCLINC g' at V point GPY(j,k) READYT, BCLINC ~ p , see Eq.(5.20) a GPYB(i,j) SFIELD, BAROTR vertically averaged GPY GSY(j,k) MSO, THERMO ~ S , used in Eq.(5.19) a GSYY(j,k) MSO, THERMO GSZ(j,k) MSO, THERMO GSZ0(j) MSO, FFORCE ~ S , used in Eq.(5.31) z z 0 GSZZ(j,k) MSO, THERMO ~ S , used in Eq.(5.19) A HV z z GTY(j,k) MSO, THERMO GTYY(j,k) MSO, THERMO GTZ(j,k) MSO, THERMO GTZ0(j) MSO, FFORCE GTZZ(j,k) MSO, THERMO ~ A HH S , used in Eq.(5.19) sin a a 2 sin ~ S , used in Eq.(5.19) z ~ T , used in Eq.(5.18) a ~ A HH T sin , used in Eq.(5.18) a a 2 sin ~ T , used in Eq.(5.18) z ~ T , used in Eq.(5.30) z z 0 ~ T A , used in Eq.(5.18) HV z z (Continued) Name H0(i,j) Subroutine INIRUN, READYC, Description sea surface height, zo in m, see Eq.(5.22) READYT, BAROTR, BCLINC, THERMO, ADDPS, SSAVE H0BT(i,j) INIRUN, READYC, (H0BF, H0BL) BCLINC H0F(i,j) INIRUN, READYT, , (H0L, H0T) THERMO time-weighted average of zo in baroclinic mode time-weighted average of zo in thermohaline mode H0P(i,j) INIRUN, BAROTR, zo at the previous step SSAVE HB(i,j) SFIELD, READYT model ocean's depth at T-point, Hb in m, see Eq.(5.14) HBX(i,j) SFIELD, READYT H b , implicitly included in Eq.(5.21) a sin HBY(i,j) SFIELD, READYT H b , implicitly included in Eq.(5.20) a HHS(i,j) INIRUN, ICESNOW, thickness of snow over sea ice, hS in m, see Eq.(5.38) SSAVE HI(i,j) INIRUN, READYC, thickness of sea ice, hI in m, see Eq.(5.39) THERMO, SSAVE HIM(i,j) SSAVE annual mean hI HIMON(i,j) SSAVE monthly mean hI, which would be set to 0 if more than half of a month are ice free. HM SFIELD, UPWELL, maximum depth of model’s ocean, Hm, (5000 m), see Eq.(5.14) ENERGY, SSAVE HMDZP(k) CONSJK, READYT, k Hm BCLINC HMOB(i,j) SFIELD, THERMO Hm (Hb)-1 ICVM(i,j,k) INIRUN, frequency of convective adjustment within a year ADJUST, SSAVE ICVMON(i,j,k) ADJUST, SSAVE frequency of convective adjustment within a month IDTB CONST integer data of tB in sec IDTC CONST integer data of tC in min IDTS CONST integer data of tTS in hr ISB MAIN, BAROTR Switch for Euler forward scheme used in barotropic mode ISB=1: Euler forward, ISB=0: leap-frog ISC MAIN, BCLINC same as ISB but for baroclinic mode IST MAIN, THERMO same as ISB but for thermohaline mode IT(i,j,k) VITVU et al. integer index field for T-cells 0: land; -1: inner ocean; 1-8: near-boundary cells ITICE(i,j) ITSNOW(i,j) IV(i,j,k) INIRUN, READYC, index field of sea ice: THERMO, SSAVE 1 for ice; 0 for water INIRUN, index field of snow over ice: COMQD, ICESNOW, SSAVE 1 for snow-covered ice; 0 for bare ice or water VITVU et al. integer index field for V-cells: 0 for land cell; nonzero for ocean cell (Continued) Name Subroutine Description MEND MAIN the end month of the current run MFOPUT MAIN, SSAVE interval for output monthly mean results (in month), see MONTH MAIN, INIRUN, time counter in month SSAVE MSTART(m) CONST, INTFOR, the mid-day of each month SSAVE NBB CONST, BAROTR, number of barotropic steps within one baroclinic step, NB BCLINC NCC MAIN, CONST, number of baroclinic steps within one tracers step, NC THERMO NMONTH(m) MAIN, CONST, number of days of each month INTFOR, SSAVE NSS MAIN, CONST number of thermohaline steps in one day NTA(i,j) MAIN, VITVU, number of layers at T-point ADJUST NVA(i,j) VITVU number of layers at V-point O CONST, CONSJK angular frequency of Earth, (0.7292 sec-1) OD0 CONST, FFORCE, (o)-1 READYT, BAROTR, BCLINC ODDD(i,j) FFORCE o cp D-1 ODZT(k) CONSJK, THERMO (k+1/2)-1 OHB(i,j) SFIELD, UPWELL (Hb)-1 at T-cell OHBU(i,j) SFIELD, BAROTR, (Hb)-1 at V-cell UPWELL ONBB CONST, BCLINC ( NB +1)-1 ONBC CONST, THERMO (NB NC +1) -1 ONCC CONST, THERMO ( NC +1)-1 OTX2(j) CONSJK, BAROTR, (2asinj)-1 UPWELL, THERMO OTX4(j) CONSJK, THERMO (4asinj)-1 OUX2(j) CONSJK, READYC, (2asinj+1/2)-1 FFORCE, BAROTR, BCLINC OY1 CONSJK (a)-1 OY2 CONSJK, FFORCE, (2a)-1 READYT, BAROTR, BCLINC, THERMO OY4 CONSJK, BCLINC (4a)-1 OZ1(k) CONSJK, THERMO (k)-1 OZ2(k) CONSJK, READYC, (2k)-1 THERMO OZ4(k) CONSJK (4k)-1 (Continued) Name Subroutine Description PAX(i,j) FFORCE, BAROTR pA 1 , see Eqs.(5.21) and (5.28) 0 a sin PAY(i,j) FFORCE, BAROTR 1 pA , see Eq.(5.20) and (5.28) 0 a PSA(i,j) RDRIVER, COMQD daily sea level pressure, pA, interpolated from PSA3 FFORCE, INTFOR PSA3(i,j,m) MAIN, RDRIVER, monthly mean pA in hPa INTFOR PSAL(j) MSO, RDRIVER, annual mean and zonal averaged pA INTFOR PXB(i,j) READYT, BAROTR 1 0 1 p d S S 0 a sin PYB(i,j) READYT, BAROTR 1 0 1 p d S S 0 a QAR3(i,j,m) MAIN, RDRIVER, monthly mean sea level air mixing ratio, qA, see Eq.(A2.2) INTFOR QII CONST, ICESNOW heat fusion of ice, QI (302.0 MJm-3), see Eq.(5.45) QQQ(i,j) FFORCE, COMQD, surface heat flux parameter, Q (in Wm-2) , see Eq.(5.32) ICESNOW QSS CONST, ICESNOW heat fusion of snow, QS (110.0 MJm-3) , see Eq.(5.33) (Continued) Name Subroutine Description R104(j) CONSJK, READYC sinj+1/(4asinj+1/2) R11(j) CONSJK, THERMO sinj+1/2/(asinj) R12(j) CONSJK, BAROTR, sinj+1/2/(2asinj) UPWELL, THERMO R14(j) CONSJK, THERMO sinj+1/2/(4asinj) R11Y(j) CONSJK, THERMO sinj+1/2/(a22sinj) R204(j) CONSJK, READYC sinj/(4asinj+1/2) R21(j) CONSJK, THERMO sinj-1/2/(asinj) R22(j) CONSJK, BAROTR, sinj-1/2/(2asinj) UPWELL, THERMO R24(j) CONSJK, THERMO sinj-1/2/(4asinj) R21Y(j) CONSJK, THERMO sinj-1/2/(a22sinj) RAZ1(k) CONSJK zk/(zk+zk+1) RAZ2(k) CONSJK zk+1/(zk+zk+1) RKH2V SFIELD, READYC AMV (Hm)-2 RKT(k) MSO, THERMO vertical diffusion coefficient, AHV(z), see Eqs.(5.18) and (5.19) RKT0 CONST, FFORCE AHV (0) (0.310-4 m2s-1) RKV CONST vertical viscosity, AMV (1.010-4 m2s-1), see Eqs.(5.20) and (5.21) RMU CONST, FFORCE, inverse of the restoring time scale for salinity, ((20 day)-1), see THERMO Eq.(5.31) RMUHM CONST, THERMO 50 (Hm)-1 RMUT CONST, FFORCE 50 RSD CONST, READYC Hm (o AMV)-1 RU10(j) CONSJK, READYC, sinj+1/(a22sinj+1/2) BAROTR RU20(j) CONSJK, READYC, sinj/(a22sinj+1/2) BAROTR (Continued) Name SBB(j,k) Subroutine MSO, CONSJK, THERMO Description ~ zonally averaged standard salinity, S(, z) in psu, see Eq.(5.9) SINT(j) CONSJK, ENERGY sin j SINU(j) CONSJK, ENERGY sin j1/ 2 SNF(i,j) RDRIVER, INTFOR, daily snowfall, interpolated from SNF3 ICESNOW SNF3(i,j,m) RDRIVER, INTFOR monthly mean snowfall (here it is set to zero) SOTX(j) CONSJK, THERMO 1 /(a sin j ) 2 SOUX(j) CONSJK, READYC, 1 /(a sin j1 2 ) 2 BAROTR SS(i,j,k) READYT, SSAVE, S' in psu, see Eq.(5.9) THERMO SSC(i,j) FFORCE, THERMO ~ S * S(,0) , see Eq.(5.31) SSM(i,j,k) SSAVE annual mean salinity, S SSMON(i,j,k) SSAVE monthly mean salinity, S SSP(i,j,k) THERMO S' at the previous step SSS(i,j) RDRIVER daily S*, interpolated from SSS3 SSS3(i,j,m) RDRIVER observed monthly mean surface salinity, S* in psu SWV3(i,j,m) RDRIVER, INTFOR monthly mean incoming solar radiation, SA in Wm-2 SU(i,j) INTFOR, READYC daily , interpolated from SU3 SU3(i,j,m) RDRIVER monthly mean zonal wind stress, in 10-3 Nm-2 SV(i,j) INTFOR, READYC daily , interpolated from SV3 SV3(i,j,m) RDRIVER monthly mean meridional wind stress, in 10-3 Nm-2 (Continued) Name TBB(j,k) TBICE Subroutine Description MSO, THERMO, ~ zonally averaged standard temperature, T(, z) SSAVE Eq.(5.9) CONST, THERMO, ice base temperature, TB (271.2 K) in ºC, see ICESNOW TEA0 MAIN, INIRUN, total available energy ENERGY TIB(j) MSO, THERMO, ~ T(, z) + 273.0 (in K), see Eq.(5.39) ICESNOW TM0 INIRUN, ENERGY total mass perturbation of free surface in kg, see Eq.(A2.7) TSA(i,j) FFORCE, INTFOR daily TA, interpolated from TSA3, see Eq.(5.32) TSA3(i,j,m) RDRIVER, INTFOR monthly mean sea surface air temperature, TA in ºC TSAICE(i,j) FFORCE,ICESNOW same as TSA but used over sea ice TSC(i,j) FFORCE, THERMO ~ TA D 1Q T(,0) TSM(i,j,k) INIRUN, SSAVE annual mean TA TSMON(i,j,k) SSAVE monthly TA TT(i,j,k) INIRUN, THERMO, T in ºC, see Eq.(5.9) ICESNOW, SSAVE TTP(i,j,k) THERMO T at the previous step (Continued) Name U(i,j,k) Subroutine Description INIRUN, BCLINC, zonal component of velocity, u in ms-1, positive for eastward, see ENERGY, UPWELL, Eq.(5.21) SSAVE UB(i,j) INIRUN, BAROTR, barotropic u-component, u , see subsection A2.3.4 SSAVE UBP(i,j) INIRUN, BAROTR, u at the previous step SSAVE UIT1/2/3/4/5(i,j,k) THERMO VIT-based index fields used in calculation of diffusions UP(i,j,k) READYC, BCLINC u at the previous step USM(i,j,k) INIRUN, SSAVE annual mean u USMON(i,j,k) SSAVE monthly mean u UTL(i,j,k), INIRUN, READYT, time-weighted averages of u UTF(i,j,k) BCLINC, THERMO, SSAVE UVA3(i,j,m) RDRIVER, INTFOR monthly mean sea surface wind speed, VA in ms-1, see Eq.(5.33) V(i,j,k) INIRUN, BCLINC, meridional component of velocity, v in ms-1, positive southward, ENERGY, UPWELL, see Eq.(5.20) SSAVE VB(i,j) VBP(i,j) INIRUN, BAROTR, barotropic v-component, v barotropic u-component, u , see SSAVE subsection A2.3.4 INIRUN, BAROTR, v at the previous step SSAVE VIT(i,j,k) many places T-cell index field, 1.0: ocean; 0.0: land VIV(i,j,k) many places V-cell index field, 1.0: ocean; 0.0: land or boundary VP(i,j,k) READYC, BCLINC v at the previous step VSM(i,j,k) INIRUN, SSAVE annual mean v VSMON(i,j,k) SSAVE monthly mean v VTL(i,j,k), INIRUN, READYT, time-weighted averages of v VTF(i,j,k) BCLINC, THERMO, SSAVE (Continued) Name Subroutine WGP(i,j) READYT, BAROTR WHX(i,j) READYT, BAROTR Description g g , used in vertically integrated Eqs.(5.20) and (5.21) g gs g S2 a sin WHY(i,j) READYT, BAROTR WS(i,j,k) INIRUN, READYC, s , used in vertically integrated Eq.(5.21) g s , used in vertically integrated Eq.(5.20) S2 a -vertical velocity, in s-1 SSAVE WSM(i,j,k) SSAVE annual mean vertical velocity, w in mday -1 WSMON(i,j,k) SSAVE monthly mean w Z0M(i,j) SSAVE annual mean zo Z0MON(i,j) SSAVE monthly mean zo ZK0(k) CONSJK z at the surface of k-th layer, zk-1/2 (for a flat-surface ocean) ZKP(k) CONSJK at the surface of k-th layer, k-1/2 ZKT(k) CONSJK at mid-level of k-th layer, k ZMID(k) MSO, ICESNOW, depth at the mid-level of the k-th layer, z k 1/ 2 READYT, ENERGY Acknowledgements We would like to thank Keming Chen for his great effort in drafting the User's Guide for the original version of the ocean model (ML20-0). The materials were much helpful in writing this Appendix. REFERENCES Asselin, R., 1972: Frequency filter for time integrations, Mon. Wea. Rev., 100(6), 487-490. Betteen, M., and Y.-J. Han, 1981: On the computational noise of finite-difference schemes used in ocean models, Tells, 33, 387-396. Bryan, K., and M.D. Cox, 1972: An approximate equation of state for numerical models of ocean circulation, J. Phys. Oceanogr., 2, 510-514. Esbensen, S.K., and Y. Kushnir, 1981: Heat budget of the global ocean: estimates from surface marine observations, Report No.29, Climate Research Institute, Oregon State Univ., Corvallis, Oregon, 271pp. Gates, W.L., and A.B. Nelson, 1975: A new (revised) tabulation of the Scripps topography on 1 global grid. Part II: Ocean depths. R-1227-1-APPA, The Rand Cooperation, Santa Monica, CA., 132pp. Haney, R.L., 1971: Surface thermal boundary condition for ocean circulation models, J. Phys. Oceanogr., 1, 241-248. Hellerman, S., and M. Rosenstein, 1983: Normal monthly wind stress data over the world ocean with error estimates, J. Phys. Oceanogr., 13, 1093-1104. Jin, X., X. Zhang, Y. Yu and T. Zhou, 1999: Oceanic General Circulation and Sea-Ice Model. In IAP Global Ocean-Atmosphere-Land System Model, edited by Zhang, X. et al., Science Press, Beijing, 1999, p.??? Killworth, P.D., D. Staniforth, D.J. Webb, and S.M. Paterson, 1991: The development of a free surface Bryan-Cox-Semtner model, J. Phys. Oceanogr., 21, 1333-1348. Levitus, S., 1982: Climatological Atlas of the World Ocean, NOAA Professional Paper 13, U.S. Government Printing Office, Washington, D.C., 173pp. Mesinger, F., and Z.I. Janjic, 1985: Problems and numerical methods of the incorporation of mountains in atmospheric models, Lectures in Applied Mathematics, 22, 81-120. Yu, R.-C., 1989: Design of the limited area numerical weather prediction model with steep mountains, Scietia Atmospherica Sinica, 13(2), 139-149 (in Chinese).