[previous] [next]

3. The structure of COAMPS atmospheric model

COAMPS primarily consists of two partitions: an analysis program that blends observations with first guess field to provide initial conditions, and a forecast program containing a nonhydrostatic, quasi-compressible atmospheric model with complete physics schemes for predicting meso and micro scale of motion. Because COAMPS is a large system, comprising nearly 83,000 lines of FORTRAN code, information can best be conveyed by flow chart. Figure 1 shows the COAMPS analysis and forecast driver programs, coamps_analysis.F and coamps_forecast.F respectively. The driver program's function is to read in the user defined model grid dimensions that provide array allocation space and pointer locations for all of COAMPSA spatially dependent variables. These variables consist of the number of grid nests (nnest), the number of horizontal grid points for each domain (ma(nn), na(nn), where nn is the nest number), and the number of vertical levels (kka). Their values are specified by reading namelist variable gribnl. Then subroutine mema.F is called to compute the total length of a single array 9a) that allocates narray space for all the analysis fields on all meshes. Subroutine mema.F assigns the pointer location within array (a) for each field on each nest. Finally, the grid dimensions, array allocations and pointer information are passed to the primary analysis subroutine, coama.F, where the initial forecast fields are prepared. Once these fields are output by the analysis program, the forecast driver program, coamps_forecast.F, performs similar steps to set up array allocation space and pointer information that is passed to the primary forecast routine, coamm.F, where the integration of the model equations generates the prognosis.



[previous] [next]