89 IF (is_using_mpi)
THEN
110 DO i=1,mpi_size*omp_size-1
124 IF (is_omp_root)
THEN
141 INTEGER :: FieldIn(:)
142 INTEGER :: FieldOut(:)
153 INTEGER :: FieldIn(:)
154 INTEGER :: FieldOut(:)
156 INTEGER,
SAVE,
ALLOCATABLE :: Field_tmp(:)
158 IF (is_omp_root)
ALLOCATE(field_tmp(
knon_mpi))
162 IF (is_omp_root) fieldout(:)=field_tmp(:)
164 IF (is_omp_root)
DEALLOCATE(field_tmp)
174 INTEGER :: FieldIn(:)
175 INTEGER :: FieldOut(:)
178 IF (is_using_mpi)
THEN
180 CALL mpi_gatherv(fieldin,
knon_mpi,mpi_integer, &
182 mpi_master,comm_lmdz_phy,ierr)
185 fieldout(:)=fieldin(:)
211 REAL,
SAVE,
ALLOCATABLE :: Field_tmp(:)
213 IF (is_omp_root)
ALLOCATE(field_tmp(
knon_mpi))
217 IF (is_omp_root) fieldout(:)=field_tmp(:)
219 IF (is_omp_root)
DEALLOCATE(field_tmp)
233 IF (is_using_mpi)
THEN
235 CALL mpi_gatherv(fieldin,
knon_mpi,mpi_real_lmdz, &
237 mpi_master,comm_lmdz_phy,ierr)
240 fieldout(:)=fieldin(:)
250 INTEGER :: FieldIn(:)
251 INTEGER :: FieldOut(:)
262 INTEGER :: FieldIn(:)
263 INTEGER :: FieldOut(:)
265 INTEGER,
SAVE,
ALLOCATABLE :: Field_tmp(:)
267 IF (is_omp_root)
ALLOCATE(field_tmp(
knon_mpi))
268 IF (is_omp_root) field_tmp(:)=fieldin(:)
272 IF (is_omp_root)
DEALLOCATE(field_tmp)
282 INTEGER :: FieldIn(:)
283 INTEGER :: FieldOut(:)
286 IF (is_using_mpi)
THEN
290 mpi_master,comm_lmdz_phy,ierr)
293 fieldout(:)=fieldin(:)
317 INTEGER,
SAVE,
ALLOCATABLE :: Field_tmp(:)
319 IF (is_omp_root)
ALLOCATE(field_tmp(
knon_mpi))
320 IF (is_omp_root) field_tmp(:)=fieldin(:)
324 IF (is_omp_root)
DEALLOCATE(field_tmp)
338 IF (is_using_mpi)
THEN
342 mpi_master,comm_lmdz_phy,ierr)
345 fieldout(:)=fieldin(:)
integer, save knon_omp_begin
subroutine gather_surf_mpi_i(FieldIn, FieldOut)
subroutine gather_surf_mpi_r(FieldIn, FieldOut)
subroutine gather_surf_i(FieldIn, FieldOut)
integer, dimension(:), allocatable, save knon_glo_end_para
subroutine init_surf_para(knon)
subroutine scatter_surf_omp_i(FieldIn, FieldOut)
subroutine scatter_surf_omp_r(FieldIn, FieldOut)
integer, dimension(:), allocatable, save knon_mpi_para
subroutine scatter_surf_mpi_r(FieldIn, FieldOut)
subroutine gather_surf_r(FieldIn, FieldOut)
subroutine scatter_surf_mpi_i(FieldIn, FieldOut)
integer, dimension(:), allocatable, save knon_omp_begin_para
subroutine scatter_surf_r(FieldIn, FieldOut)
subroutine gather_surf_omp_i(FieldIn, FieldOut)
subroutine scatter_surf_i(FieldIn, FieldOut)
integer, dimension(:), allocatable, save knon_glo_para
integer, save knon_omp_end
integer, dimension(:), allocatable, save knon_glo_begin_para
integer, dimension(:), allocatable, save knon_omp_end_para
subroutine gather_surf_omp_r(FieldIn, FieldOut)
integer, dimension(:), allocatable, save knon_omp_para
integer, dimension(:), allocatable, save knon_mpi_end_para
integer, dimension(:), allocatable, save knon_mpi_begin_para
subroutine finalize_surf_para