FV3 Bundle
mpp_data.F90
Go to the documentation of this file.
1 !***********************************************************************
2 !* GNU Lesser General Public License
3 !*
4 !* This file is part of the GFDL Flexible Modeling System (FMS).
5 !*
6 !* FMS is free software: you can redistribute it and/or modify it under
7 !* the terms of the GNU Lesser General Public License as published by
8 !* the Free Software Foundation, either version 3 of the License, or (at
9 !* your option) any later version.
10 !*
11 !* FMS is distributed in the hope that it will be useful, but WITHOUT
12 !* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 !* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 !* for more details.
15 !*
16 !* You should have received a copy of the GNU Lesser General Public
17 !* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
18 !***********************************************************************
20 #include <fms_platform.h>
21 
22 #if defined(use_libMPI) && defined(sgi_mipspro)
23  use mpi
24 #endif
25 
26  use mpp_parameter_mod, only : maxpes
27 
28  implicit none
29  private
30 
31 ! Include variable "version" to be written to log file.
32 #include<file_version.h>
33  public version
34 
35 #if defined(use_libSMA) || defined(use_MPI_SMA)
36 #include <mpp/shmem.fh>
37 #endif
38 
39 #if defined(use_libMPI) && !defined(sgi_mipspro)
40 #include <mpif.h>
41 !sgi_mipspro gets this from 'use mpi'
42 #endif
43 
44  !--- public data is used by mpp_mod
45  public :: stat, mpp_stack, ptr_stack, status, ptr_status, sync, ptr_sync
46  public :: mpp_from_pe, ptr_from, remote_data_loc, ptr_remote
47 
48  !--- public data which is used by mpp_domains_mod.
49  !--- All othere modules should import these parameters from mpp_domains_mod.
50  public :: mpp_domains_stack, ptr_domains_stack
51  public :: mpp_domains_stack_nonblock, ptr_domains_stack_nonblock
52 
53  !-------------------------------------------------------------------------------!
54  ! The following data included in the .inc file are diffrent for sma or mpi case !
55  !-------------------------------------------------------------------------------!
56 
57 #ifdef use_libSMA
58 #include <mpp_data_sma.inc>
59 #else
60 #ifdef use_libMPI
61 #include <mpp_data_mpi.inc>
62 #else
63 #include <mpp_data_nocomm.inc>
64 #endif
65 #endif
66 
67 end module mpp_data_mod
integer, parameter, public maxpes