LMDZ
parallel_lmdz Module Reference

Data Types

interface  assignment(=)
 
type  distrib
 

Functions/Subroutines

subroutine init_parallel
 
subroutine create_distrib (jj_nb_new, d)
 
subroutine set_distrib (d)
 
subroutine copy_distrib (dist, new_dist)
 
subroutine get_current_distrib (d)
 
subroutine finalize_parallel
 
subroutine pack_data (Field, ij, ll, row, Buffer)
 
subroutine unpack_data (Field, ij, ll, row, Buffer)
 
subroutine barrier
 
subroutine exchange_hallo (Field, ij, ll, up, down)
 
subroutine gather_field (Field, ij, ll, rank)
 
subroutine allgather_field (Field, ij, ll)
 
subroutine broadcast_field (Field, ij, ll, rank)
 
subroutine setdistrib (jj_Nb_New)
 

Variables

integer, parameter halo_max =3
 
logical, save using_mpi =.TRUE.
 
logical, save using_omp
 
integer, save mpi_size
 
integer, save mpi_rank
 
integer, save jj_begin
 
integer, save jj_end
 
integer, save jj_nb
 
integer, save ij_begin
 
integer, save ij_end
 
logical, save pole_nord
 
logical, save pole_sud
 
integer, save jjb_u
 
integer, save jje_u
 
integer, save jjnb_u
 
integer, save jjb_v
 
integer, save jje_v
 
integer, save jjnb_v
 
integer, save ijb_u
 
integer, save ije_u
 
integer, save ijnb_u
 
integer, save ijb_v
 
integer, save ije_v
 
integer, save ijnb_v
 
integer, dimension(:), allocatable, save jj_begin_para
 
integer, dimension(:), allocatable, save jj_end_para
 
integer, dimension(:), allocatable, save jj_nb_para
 
integer, save omp_chunk
 
integer, save omp_rank
 
integer, save omp_size
 
type(distrib), save current_dist
 

Function/Subroutine Documentation

subroutine parallel_lmdz::allgather_field ( real, dimension(ij,ll Field,
integer  ij,
integer  ll 
)

Definition at line 729 of file parallel_lmdz.F90.

Here is the call graph for this function:

subroutine parallel_lmdz::barrier ( )

Definition at line 496 of file parallel_lmdz.F90.

Here is the caller graph for this function:

subroutine parallel_lmdz::broadcast_field ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  rank 
)

Definition at line 751 of file parallel_lmdz.F90.

subroutine parallel_lmdz::copy_distrib ( type(distrib), intent(inout)  dist,
type(distrib), intent(in)  new_dist 
)

Definition at line 341 of file parallel_lmdz.F90.

subroutine parallel_lmdz::create_distrib ( integer, dimension(0:mpi_size-1), intent(in)  jj_nb_new,
type(distrib), intent(inout)  d 
)

Definition at line 254 of file parallel_lmdz.F90.

Here is the caller graph for this function:

subroutine parallel_lmdz::exchange_hallo ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  up,
integer  down 
)

Definition at line 512 of file parallel_lmdz.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallel_lmdz::finalize_parallel ( )

Definition at line 389 of file parallel_lmdz.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallel_lmdz::gather_field ( real, dimension(ij,ll Field,
integer  ij,
integer  ll,
integer  rank 
)

Definition at line 645 of file parallel_lmdz.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallel_lmdz::get_current_distrib ( type(distrib), intent(out)  d)

Definition at line 378 of file parallel_lmdz.F90.

Here is the caller graph for this function:

subroutine parallel_lmdz::init_parallel ( )

Definition at line 87 of file parallel_lmdz.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallel_lmdz::pack_data ( real, dimension(ij,ll), intent(in)  Field,
integer, intent(in)  ij,
integer, intent(in)  ll,
integer, intent(in)  row,
real, dimension(ll*iip1*row), intent(out)  Buffer 
)

Definition at line 448 of file parallel_lmdz.F90.

Here is the caller graph for this function:

subroutine parallel_lmdz::set_distrib ( type(distrib), intent(in)  d)

Definition at line 305 of file parallel_lmdz.F90.

Here is the caller graph for this function:

subroutine parallel_lmdz::setdistrib ( integer, dimension(0:mpi_size-1)  jj_Nb_New)

Definition at line 206 of file parallel_lmdz.F90.

Here is the call graph for this function:

Here is the caller graph for this function:

subroutine parallel_lmdz::unpack_data ( real, dimension(ij,ll), intent(out)  Field,
integer, intent(in)  ij,
integer, intent(in)  ll,
integer, intent(in)  row,
real, dimension(ll*iip1*row), intent(in)  Buffer 
)

Definition at line 471 of file parallel_lmdz.F90.

Here is the caller graph for this function:

Variable Documentation

type(distrib), save parallel_lmdz::current_dist

Definition at line 82 of file parallel_lmdz.F90.

integer, parameter parallel_lmdz::halo_max =3

Definition at line 12 of file parallel_lmdz.F90.

integer save parallel_lmdz::ij_begin

Definition at line 22 of file parallel_lmdz.F90.

integer save parallel_lmdz::ij_end

Definition at line 23 of file parallel_lmdz.F90.

integer save parallel_lmdz::ijb_u

Definition at line 34 of file parallel_lmdz.F90.

integer save parallel_lmdz::ijb_v

Definition at line 38 of file parallel_lmdz.F90.

integer save parallel_lmdz::ije_u

Definition at line 35 of file parallel_lmdz.F90.

integer save parallel_lmdz::ije_v

Definition at line 39 of file parallel_lmdz.F90.

integer save parallel_lmdz::ijnb_u

Definition at line 36 of file parallel_lmdz.F90.

integer save parallel_lmdz::ijnb_v

Definition at line 40 of file parallel_lmdz.F90.

integer save parallel_lmdz::jj_begin

Definition at line 19 of file parallel_lmdz.F90.

integer, dimension(:), allocatable, save parallel_lmdz::jj_begin_para

Definition at line 43 of file parallel_lmdz.F90.

integer save parallel_lmdz::jj_end

Definition at line 20 of file parallel_lmdz.F90.

integer, dimension(:), allocatable, save parallel_lmdz::jj_end_para

Definition at line 44 of file parallel_lmdz.F90.

integer save parallel_lmdz::jj_nb

Definition at line 21 of file parallel_lmdz.F90.

integer, dimension(:), allocatable, save parallel_lmdz::jj_nb_para

Definition at line 45 of file parallel_lmdz.F90.

integer save parallel_lmdz::jjb_u

Definition at line 27 of file parallel_lmdz.F90.

integer save parallel_lmdz::jjb_v

Definition at line 30 of file parallel_lmdz.F90.

integer save parallel_lmdz::jje_u

Definition at line 28 of file parallel_lmdz.F90.

integer save parallel_lmdz::jje_v

Definition at line 31 of file parallel_lmdz.F90.

integer save parallel_lmdz::jjnb_u

Definition at line 29 of file parallel_lmdz.F90.

integer save parallel_lmdz::jjnb_v

Definition at line 32 of file parallel_lmdz.F90.

integer save parallel_lmdz::mpi_rank

Definition at line 18 of file parallel_lmdz.F90.

integer save parallel_lmdz::mpi_size

Definition at line 17 of file parallel_lmdz.F90.

integer save parallel_lmdz::omp_chunk

Definition at line 46 of file parallel_lmdz.F90.

integer save parallel_lmdz::omp_rank

Definition at line 47 of file parallel_lmdz.F90.

integer save parallel_lmdz::omp_size

Definition at line 48 of file parallel_lmdz.F90.

logical save parallel_lmdz::pole_nord

Definition at line 24 of file parallel_lmdz.F90.

logical save parallel_lmdz::pole_sud

Definition at line 25 of file parallel_lmdz.F90.

logical save parallel_lmdz::using_mpi =.TRUE.

Definition at line 14 of file parallel_lmdz.F90.

logical save parallel_lmdz::using_omp

Definition at line 15 of file parallel_lmdz.F90.