!
!
!##################################################################
!##################################################################
!######                                                      ######
!######                       MP.INC                         ######
!######                                                      ######
!######                     Developed by                     ######
!######     Center for Analysis and Prediction of Storms     ######
!######                University of Oklahoma                ######
!######                                                      ######
!##################################################################
!##################################################################
!
!
!-----------------------------------------------------------------------
!
!  PURPOSE:
!
!  Include file 'mp.inc' for ARPS
!
!  This file contains message passing parameters.
!
!-----------------------------------------------------------------------
!
!  AUTHOR: Gene Bassett
!  2000/04/27
!
!  MODIFICATION HISTORY:
!
!-----------------------------------------------------------------------
!
!-----------------------------------------------------------------------
!
!  Message passing variables
!
!-----------------------------------------------------------------------
!
  INTEGER :: mp_opt          ! Message passing option
                             ! = 0, no message passing
                             ! = 1, use message passing option.

  INTEGER :: nprocs          ! Number of processors.
  INTEGER :: nproc_x         ! Number of processors in x-direction.
  INTEGER :: nproc_y         ! Number of processors in y-direction.
  INTEGER :: nproc_x_in      ! The nproc_x specified in the input file.
  INTEGER :: nproc_y_in      ! The nproc_y specified in the input file.
  INTEGER :: loc_x           ! Processor x-location (1 to nproc_x).
  INTEGER :: loc_y           ! Processor y-location (1 to nproc_y).

  INTEGER :: myproc          ! Processor number (0 to nprocs-1).
  INTEGER :: max_proc        ! Maximum number of processors.
  PARAMETER (max_proc=20000)
  INTEGER :: proc(max_proc)  ! Processor numbers.

  INTEGER :: max_fopen       ! Maximum number of files allowed open.
  INTEGER :: gentag
  
  INTEGER :: joindmp         ! History dump format
                             ! = 0, dump file for each processor
                             ! = 1, dump one joined file.

  INTEGER :: readsplit       ! External data file read option
                             ! = 0, each processor do its own read
                             ! = 1, do split on-the-fly

  INTEGER :: readstride      ! = nprocs     if readsplit == 1
                             ! = max_fopen  otherwise
  INTEGER :: dumpstride      ! = nprocs     if joindmp == 1
                             ! = max_fopen  otherwise

  COMMON /arpsc005/ mp_opt,nprocs,nproc_x,nproc_y,loc_x,loc_y,       &
                    myproc,proc,max_fopen,gentag,joindmp,readsplit,  &
                    nproc_x_in,nproc_y_in, readstride, dumpstride

  INTEGER :: tag_w,   tag_e,   tag_n,   tag_s
  PARAMETER (tag_w=11,tag_e=12,tag_n=13,tag_s=14)
  INTEGER :: tag_sw,   tag_se,   tag_nw,   tag_ne
  PARAMETER (tag_sw=15,tag_se=16,tag_nw=17,tag_ne=18)