From 8efc1a67f6cd048c581ee25dbcddf86e2b9ba99f Mon Sep 17 00:00:00 2001 From: Egor Palkin Date: Mon, 13 Jan 2020 12:36:44 +0700 Subject: [PATCH] This resolves issue #146 in development_branch This commit substitutes mpi_logical functions with integer analogues where needed. --- Sources/Process/Backup_Mod.f90 | 2 - Sources/Process/Backup_Mod/Read_Log_Array.f90 | 52 ------------------- Sources/Process/Backup_Mod/Read_Swarm.f90 | 4 +- .../Process/Backup_Mod/Write_Log_Array.f90 | 29 ----------- Sources/Process/Backup_Mod/Write_Swarm.f90 | 4 +- Sources/Process/Swarm_Mod.f90 | 6 +-- .../Process/Swarm_Mod/Advance_Particles.f90 | 12 ++--- Sources/Process/Swarm_Mod/Allocate.f90 | 4 +- Sources/Process/Swarm_Mod/Bounce_Particle.f90 | 8 +-- .../Parallel/Global_Lor_Log_Array.f90 | 27 ---------- .../Comm_Mod/Parallel/Read_Log_Array.f90 | 38 -------------- .../Comm_Mod/Parallel/Write_Log_Array.f90 | 38 -------------- .../Sequential/Global_Lor_Log_Array.f90 | 12 ----- .../Comm_Mod/Sequential/Read_Log_Array.f90 | 25 --------- .../Comm_Mod/Sequential/Write_Log_Array.f90 | 22 -------- Sources/Shared/Comm_Mod_Par.f90 | 4 -- Sources/Shared/Comm_Mod_Seq.f90 | 4 -- 17 files changed, 19 insertions(+), 272 deletions(-) delete mode 100644 Sources/Process/Backup_Mod/Read_Log_Array.f90 delete mode 100644 Sources/Process/Backup_Mod/Write_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Parallel/Global_Lor_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Parallel/Read_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Parallel/Write_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Sequential/Global_Lor_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Sequential/Read_Log_Array.f90 delete mode 100644 Sources/Shared/Comm_Mod/Sequential/Write_Log_Array.f90 diff --git a/Sources/Process/Backup_Mod.f90 b/Sources/Process/Backup_Mod.f90 index 714092303..829b9e70f 100644 --- a/Sources/Process/Backup_Mod.f90 +++ b/Sources/Process/Backup_Mod.f90 @@ -30,7 +30,6 @@ module Backup_Mod include 'Backup_Mod/Read_Face.f90' include 'Backup_Mod/Read_Int.f90' include 'Backup_Mod/Read_Int_Array.f90' - include 'Backup_Mod/Read_Log_Array.f90' include 'Backup_Mod/Read_Real.f90' include 'Backup_Mod/Read_Real_Array.f90' include 'Backup_Mod/Read_Swarm.f90' @@ -42,7 +41,6 @@ module Backup_Mod include 'Backup_Mod/Write_Face.f90' include 'Backup_Mod/Write_Int.f90' include 'Backup_Mod/Write_Int_Array.f90' - include 'Backup_Mod/Write_Log_Array.f90' include 'Backup_Mod/Write_Real.f90' include 'Backup_Mod/Write_Real_Array.f90' include 'Backup_Mod/Write_Swarm.f90' diff --git a/Sources/Process/Backup_Mod/Read_Log_Array.f90 b/Sources/Process/Backup_Mod/Read_Log_Array.f90 deleted file mode 100644 index 676258570..000000000 --- a/Sources/Process/Backup_Mod/Read_Log_Array.f90 +++ /dev/null @@ -1,52 +0,0 @@ -!==============================================================================! - subroutine Backup_Mod_Read_Log_Array(fh, disp, vc, arr_name, arr_value) -!------------------------------------------------------------------------------! -! Reads a named integer array from backup file. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh, disp, vc - character(len=*) :: arr_name - logical, dimension(:) :: arr_value -!-----------------------------------[Locals]-----------------------------------! - character(len=80) :: vn - integer :: vs, disp_loop, cnt_loop, length -!==============================================================================! - - cnt_loop = 0 - disp_loop = 0 - length = size(arr_value) - - !--------------------------------------------------------! - ! Browse the entire file until you find the variable ! - !--------------------------------------------------------! - do - - ! Increase counter - cnt_loop = cnt_loop + 1 - - call Comm_Mod_Read_Text(fh, vn, disp_loop) ! variable name - call Comm_Mod_Read_Int (fh, vs, disp_loop) ! variable offset - - ! If variable is found, read it and retrun - if(vn .eq. arr_name) then - if(this_proc < 2) print *, '# Reading array: ', trim(vn) - call Comm_Mod_Read_Log_Array(fh, arr_value, disp_loop) - disp = disp_loop - return - - ! If variable not found, advance the offset only - else - disp_loop = disp_loop + vs - end if - - ! Check if variable is in the file - if(cnt_loop >= vc) goto 1 - - end do - -1 if(this_proc < 2) print *, '# Array: ', trim(arr_name), ' not found! ', & - 'Setting the values to .false.!' - arr_value(:) = .false. - - end subroutine diff --git a/Sources/Process/Backup_Mod/Read_Swarm.f90 b/Sources/Process/Backup_Mod/Read_Swarm.f90 index 56bc9cc38..7f9f905c9 100644 --- a/Sources/Process/Backup_Mod/Read_Swarm.f90 +++ b/Sources/Process/Backup_Mod/Read_Swarm.f90 @@ -26,7 +26,7 @@ subroutine Backup_Mod_Read_Swarm(fh, disp, vc, swr) call Backup_Mod_Read_Int(fh, disp, vc, 'n_particles', n_part) i_work(:) = 0 - l_work(:) = .false. + l_work(:) = 0 r_work(:) = 0.0 if(n_part > 0) then @@ -34,7 +34,7 @@ subroutine Backup_Mod_Read_Swarm(fh, disp, vc, swr) call Backup_Mod_Read_Int_Array(fh, disp, vc, & 'particle_int_data', & i_work(1:N_I_VARS*swr % n_particles)) - call Backup_Mod_Read_Log_Array(fh, disp, vc, & + call Backup_Mod_Read_Int_Array(fh, disp, vc, & 'particle_log_data', & l_work(1:N_L_VARS*swr % n_particles)) call Backup_Mod_Read_Real_Array(fh, disp, vc, & diff --git a/Sources/Process/Backup_Mod/Write_Log_Array.f90 b/Sources/Process/Backup_Mod/Write_Log_Array.f90 deleted file mode 100644 index e65d9b5a2..000000000 --- a/Sources/Process/Backup_Mod/Write_Log_Array.f90 +++ /dev/null @@ -1,29 +0,0 @@ -!==============================================================================! - subroutine Backup_Mod_Write_Log_Array(fh, disp, vc, arr_name, arr_value) -!------------------------------------------------------------------------------! -! Writes a named integer array to backup file. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh, disp, vc - character(len=*) :: arr_name - logical, dimension(:) :: arr_value -!-----------------------------------[Locals]-----------------------------------! - character(len=80) :: vn - integer :: vs, length ! variable size -!==============================================================================! - - length = size(arr_value) - - if(this_proc < 2) print *, '# Writing array: ', trim(arr_name) - - ! Increase variable count - vc = vc + 1 - - ! Just store one named integer array - vn = arr_name; call Comm_Mod_Write_Text(fh, vn, disp) - vs = length * SIZE_INT; call Comm_Mod_Write_Int (fh, vs, disp) - - call Comm_Mod_Write_Log_Array(fh, arr_value(1:length), disp) - - end subroutine diff --git a/Sources/Process/Backup_Mod/Write_Swarm.f90 b/Sources/Process/Backup_Mod/Write_Swarm.f90 index a8026f6d3..2ac76cff2 100644 --- a/Sources/Process/Backup_Mod/Write_Swarm.f90 +++ b/Sources/Process/Backup_Mod/Write_Swarm.f90 @@ -26,7 +26,7 @@ subroutine Backup_Mod_Write_Swarm(fh, disp, vc, swr) call Backup_Mod_Write_Int(fh, disp, vc, 'n_particles', swr % n_particles) i_work(:) = 0 - l_work(:) = .false. + l_work(:) = 0 r_work(:) = 0.0 ! Pack particle data in arrays @@ -67,7 +67,7 @@ subroutine Backup_Mod_Write_Swarm(fh, disp, vc, swr) call Backup_Mod_Write_Int_Array(fh, disp, vc, & 'particle_int_data', & i_work(1:N_I_VARS*swr % n_particles)) - call Backup_Mod_Write_Log_Array(fh, disp, vc, & + call Backup_Mod_Write_Int_Array(fh, disp, vc, & 'particle_log_data', & l_work(1:N_L_VARS*swr % n_particles)) call Backup_Mod_Write_Real_Array(fh, disp, vc, & diff --git a/Sources/Process/Swarm_Mod.f90 b/Sources/Process/Swarm_Mod.f90 index 026584fd1..b3131567f 100644 --- a/Sources/Process/Swarm_Mod.f90 +++ b/Sources/Process/Swarm_Mod.f90 @@ -62,8 +62,8 @@ module Swarm_Mod real :: ft_x, ft_y, ft_z ! total force ! Particle deposition and departure from domain - logical :: deposited - logical :: escaped + integer :: deposited + integer :: escaped ! Particle inside the subdomain integer :: proc @@ -112,7 +112,7 @@ module Swarm_Mod integer, parameter :: N_L_VARS = 2 integer, parameter :: N_R_VARS = 8 integer, allocatable :: i_work(:) - logical, allocatable :: l_work(:) + integer, allocatable :: l_work(:) ! 0 or 1 real, allocatable :: r_work(:) contains diff --git a/Sources/Process/Swarm_Mod/Advance_Particles.f90 b/Sources/Process/Swarm_Mod/Advance_Particles.f90 index 6b2d777e7..0925a1eba 100644 --- a/Sources/Process/Swarm_Mod/Advance_Particles.f90 +++ b/Sources/Process/Swarm_Mod/Advance_Particles.f90 @@ -12,8 +12,8 @@ subroutine Swarm_Mod_Advance_Particles(swarm, turb) type(Grid_Type), pointer :: grid type(Field_Type), pointer :: flow type(Particle_Type), pointer :: part - logical, pointer :: escaped - logical, pointer :: deposited + integer, pointer :: escaped + integer, pointer :: deposited integer :: ss ! sub-step counter integer :: n_parts_in_buffers !==============================================================================! @@ -41,10 +41,10 @@ subroutine Swarm_Mod_Advance_Particles(swarm, turb) escaped => part % escaped deposited => part % deposited - !-------------------------------------------------! - ! If particle is neither deposited nor escped ! - !-------------------------------------------------! - if(.not. deposited .and. .not. escaped) then + !--------------------------------------------------! + ! If particle is neither deposited nor escaped ! + !--------------------------------------------------! + if( deposited .ne. 1 .and. escaped .ne. 1) then ! If particle is in this processor, carry on with it if(part % proc .eq. this_proc) then diff --git a/Sources/Process/Swarm_Mod/Allocate.f90 b/Sources/Process/Swarm_Mod/Allocate.f90 index a4d1cc1a3..ee2197923 100644 --- a/Sources/Process/Swarm_Mod/Allocate.f90 +++ b/Sources/Process/Swarm_Mod/Allocate.f90 @@ -62,8 +62,8 @@ subroutine Swarm_Mod_Allocate(swarm, flow) ! Assume particle is in the domain ! (A smarter way could be worked out, depending ... ! ... on the result of the call to Find_Nearest_Cell) - swarm % particle(k) % deposited = .false. - swarm % particle(k) % escaped = .false. + swarm % particle(k) % deposited = 0 + swarm % particle(k) % escaped = 0 ! Is particle in this processor? swarm % particle(k) % proc = 0 diff --git a/Sources/Process/Swarm_Mod/Bounce_Particle.f90 b/Sources/Process/Swarm_Mod/Bounce_Particle.f90 index 189a60707..9f27b7266 100644 --- a/Sources/Process/Swarm_Mod/Bounce_Particle.f90 +++ b/Sources/Process/Swarm_Mod/Bounce_Particle.f90 @@ -10,8 +10,8 @@ subroutine Swarm_Mod_Bounce_Particle(swarm, k) !-----------------------------------[Locals]-----------------------------------! type(Grid_Type), pointer :: grid type(Particle_Type), pointer :: part - logical, pointer :: deposited ! part. deposition flag - logical, pointer :: escaped ! part. departure flag + integer, pointer :: deposited ! part. deposition flag + integer, pointer :: escaped ! part. departure flag integer :: c, c2, s ! nearest cells, face real :: vel_dot_n real :: rx_nx_o, ry_ny_o, rz_nz_o, & @@ -123,7 +123,7 @@ subroutine Swarm_Mod_Bounce_Particle(swarm, k) ! Trap condition (deposition) if(swarm % rst <= TINY .or. abs(vel_dot_n) <= 1.0e-3) then - deposited = .true. + deposited = 1 swarm % cnt_d = swarm % cnt_d + 1 print *, k, 'Particle is deposited at: ', xi, yi, zi, f @@ -163,7 +163,7 @@ subroutine Swarm_Mod_Bounce_Particle(swarm, k) ! The boundary cell is an outlet ! !------------------------------------! if(Grid_Mod_Bnd_Cond_Type(grid, c2) == OUTFLOW) then - escaped = .true. + escaped = 1 swarm % cnt_e = swarm % cnt_e + 1 print *, k, 'Particle escaped from outlet at: ', xi, yi, zi, f end if ! it is an outflow diff --git a/Sources/Shared/Comm_Mod/Parallel/Global_Lor_Log_Array.f90 b/Sources/Shared/Comm_Mod/Parallel/Global_Lor_Log_Array.f90 deleted file mode 100644 index 7fd06cad6..000000000 --- a/Sources/Shared/Comm_Mod/Parallel/Global_Lor_Log_Array.f90 +++ /dev/null @@ -1,27 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Global_Lor_Log_Array(n, phi) -!------------------------------------------------------------------------------! -! Estimates logical or over all processors. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: n - logical :: phi(n) -!-----------------------------------[Locals]-----------------------------------! - logical, allocatable :: phi_res(:) - integer :: error -!==============================================================================! - - allocate(phi_res(n)) - - call Mpi_Allreduce(phi, & ! send buffer - phi_res, & ! recv buffer - n, & ! length - MPI_LOGICAL8, & ! datatype - MPI_LOR, & ! operation - MPI_COMM_WORLD, & - error) - - phi(1:n) = phi_res(1:n) - - end subroutine diff --git a/Sources/Shared/Comm_Mod/Parallel/Read_Log_Array.f90 b/Sources/Shared/Comm_Mod/Parallel/Read_Log_Array.f90 deleted file mode 100644 index 87f03a98f..000000000 --- a/Sources/Shared/Comm_Mod/Parallel/Read_Log_Array.f90 +++ /dev/null @@ -1,38 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Read_Log_Array(fh, arr, disp) -!------------------------------------------------------------------------------! -! Read single integer for parallel runs. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh ! file handle - logical, dimension(:) :: arr ! array to write out - integer :: disp ! diplacement in bytes -!-----------------------------------[Locals]-----------------------------------! - integer :: length - integer :: error -!==============================================================================! - - ! Get array's length - length = size(arr) - - ! Set it at position disp (same as in Write counterpart) - call Mpi_File_Set_View(fh, & - disp, & - MPI_LOGICAL8, & - MPI_LOGICAL8, & - 'native', & - MPI_INFO_NULL, & - error) - - ! Read integer value - call Mpi_File_Read(fh, & - arr(1), & - length, & - MPI_LOGICAL8, & - MPI_STATUS_IGNORE, & - error) - - disp = disp + SIZE_LOG * length - - end subroutine diff --git a/Sources/Shared/Comm_Mod/Parallel/Write_Log_Array.f90 b/Sources/Shared/Comm_Mod/Parallel/Write_Log_Array.f90 deleted file mode 100644 index 7af481a95..000000000 --- a/Sources/Shared/Comm_Mod/Parallel/Write_Log_Array.f90 +++ /dev/null @@ -1,38 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Write_Log_Array(fh, arr, disp) -!------------------------------------------------------------------------------! -! Write integer array for parallel runs. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh ! file handle - logical, dimension(:) :: arr ! array to write out - integer :: disp ! displacement in bytes -!-----------------------------------[Locals]-----------------------------------! - integer :: length - integer :: error -!==============================================================================! - - ! Get array's length - length = size(arr) - - ! Set it at position disp (same as in Read counterpart) - call Mpi_File_Set_View(fh, & - disp, & - MPI_LOGICAL8, & - MPI_LOGICAL8, & - 'native', & - MPI_INFO_NULL, & - error) - - ! Write integer value - call Mpi_File_Write(fh, & - arr(1), & - length, & - MPI_LOGICAL8, & - MPI_STATUS_IGNORE, & - error) - - disp = disp + SIZE_LOG * length - - end subroutine diff --git a/Sources/Shared/Comm_Mod/Sequential/Global_Lor_Log_Array.f90 b/Sources/Shared/Comm_Mod/Sequential/Global_Lor_Log_Array.f90 deleted file mode 100644 index b380c8e03..000000000 --- a/Sources/Shared/Comm_Mod/Sequential/Global_Lor_Log_Array.f90 +++ /dev/null @@ -1,12 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Global_Lor_Log_Array(n, phi) -!------------------------------------------------------------------------------! -! Dummy function for sequential runs. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: n - logical :: phi(n) -!==============================================================================! - - end subroutine diff --git a/Sources/Shared/Comm_Mod/Sequential/Read_Log_Array.f90 b/Sources/Shared/Comm_Mod/Sequential/Read_Log_Array.f90 deleted file mode 100644 index d56ecddae..000000000 --- a/Sources/Shared/Comm_Mod/Sequential/Read_Log_Array.f90 +++ /dev/null @@ -1,25 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Read_Log_Array(fh, arr, disp) -!------------------------------------------------------------------------------! -! Read logical array for sequential runs. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh ! file handle - logical, dimension(:) :: arr ! array to read - integer :: disp ! displacement in bytes -!-----------------------------------[Locals]-----------------------------------! - integer :: length -!==============================================================================! - - length = size(arr) - - ! Position yourself at the right place inside the file - call fseek(fh, disp, 0) - - ! Read integer - read(fh) arr(1:length) - - disp = disp + SIZE_LOG * length - - end subroutine diff --git a/Sources/Shared/Comm_Mod/Sequential/Write_Log_Array.f90 b/Sources/Shared/Comm_Mod/Sequential/Write_Log_Array.f90 deleted file mode 100644 index b6d2000d1..000000000 --- a/Sources/Shared/Comm_Mod/Sequential/Write_Log_Array.f90 +++ /dev/null @@ -1,22 +0,0 @@ -!==============================================================================! - subroutine Comm_Mod_Write_Log_Array(fh, arr, disp) -!------------------------------------------------------------------------------! -! Write integer array for sequential runs. ! -!------------------------------------------------------------------------------! - implicit none -!---------------------------------[Arguments]----------------------------------! - integer :: fh ! file handle - logical, dimension(:) :: arr ! array to write out - integer :: disp ! displacement in bytes -!-----------------------------------[Locals]-----------------------------------! - integer :: length -!==============================================================================! - - ! Get array's length - length = size(arr) - - write(9) arr(1:length) - - disp = disp + SIZE_LOG * length - - end subroutine diff --git a/Sources/Shared/Comm_Mod_Par.f90 b/Sources/Shared/Comm_Mod_Par.f90 index fc3817bdb..c8210d78f 100644 --- a/Sources/Shared/Comm_Mod_Par.f90 +++ b/Sources/Shared/Comm_Mod_Par.f90 @@ -46,7 +46,6 @@ module Comm_Mod ! Parameters for size of typical variables in bytes integer, parameter :: SIZE_INT = 8 - integer, parameter :: SIZE_LOG = 8 integer, parameter :: SIZE_REAL = 8 integer :: this_proc ! processor i.d. @@ -62,7 +61,6 @@ module Comm_Mod include 'Comm_Mod/Parallel/End.f90' include 'Comm_Mod/Parallel/Exchange_Int_Array.f90' include 'Comm_Mod/Parallel/Exchange_Real_Array.f90' - include 'Comm_Mod/Parallel/Global_Lor_Log_Array.f90' include 'Comm_Mod/Parallel/Global_Max_Real.f90' include 'Comm_Mod/Parallel/Global_Min_Real.f90' include 'Comm_Mod/Parallel/Global_Max_Int.f90' @@ -75,7 +73,6 @@ module Comm_Mod include 'Comm_Mod/Parallel/Open_File_Write.f90' include 'Comm_Mod/Parallel/Read_Int.f90' include 'Comm_Mod/Parallel/Read_Int_Array.f90' - include 'Comm_Mod/Parallel/Read_Log_Array.f90' include 'Comm_Mod/Parallel/Read_Bnd_Real.f90' include 'Comm_Mod/Parallel/Read_Cell_Real.f90' include 'Comm_Mod/Parallel/Read_Real.f90' @@ -85,7 +82,6 @@ module Comm_Mod include 'Comm_Mod/Parallel/Wait.f90' include 'Comm_Mod/Parallel/Write_Int.f90' include 'Comm_Mod/Parallel/Write_Int_Array.f90' - include 'Comm_Mod/Parallel/Write_Log_Array.f90' include 'Comm_Mod/Parallel/Write_Bnd_Real.f90' include 'Comm_Mod/Parallel/Write_Cell_Real.f90' include 'Comm_Mod/Parallel/Write_Real.f90' diff --git a/Sources/Shared/Comm_Mod_Seq.f90 b/Sources/Shared/Comm_Mod_Seq.f90 index f71a6e174..687ad8ade 100644 --- a/Sources/Shared/Comm_Mod_Seq.f90 +++ b/Sources/Shared/Comm_Mod_Seq.f90 @@ -46,7 +46,6 @@ module Comm_Mod ! Parameters for size of typical variables in bytes integer, parameter :: SIZE_INT = 8 - integer, parameter :: SIZE_LOG = 8 integer, parameter :: SIZE_REAL = 8 integer :: this_proc ! processor i.d. @@ -59,7 +58,6 @@ module Comm_Mod include 'Comm_Mod/Sequential/End.f90' include 'Comm_Mod/Sequential/Exchange_Int_Array.f90' include 'Comm_Mod/Sequential/Exchange_Real_Array.f90' - include 'Comm_Mod/Sequential/Global_Lor_Log_Array.f90' include 'Comm_Mod/Sequential/Global_Max_Real.f90' include 'Comm_Mod/Sequential/Global_Min_Real.f90' include 'Comm_Mod/Sequential/Global_Max_Int.f90' @@ -72,7 +70,6 @@ module Comm_Mod include 'Comm_Mod/Sequential/Open_File_Write.f90' include 'Comm_Mod/Sequential/Read_Int.f90' include 'Comm_Mod/Sequential/Read_Int_Array.f90' - include 'Comm_Mod/Sequential/Read_Log_Array.f90' include 'Comm_Mod/Sequential/Read_Bnd_Real.f90' include 'Comm_Mod/Sequential/Read_Cell_Real.f90' include 'Comm_Mod/Sequential/Read_Real.f90' @@ -82,7 +79,6 @@ module Comm_Mod include 'Comm_Mod/Sequential/Wait.f90' include 'Comm_Mod/Sequential/Write_Int.f90' include 'Comm_Mod/Sequential/Write_Int_Array.f90' - include 'Comm_Mod/Sequential/Write_Log_Array.f90' include 'Comm_Mod/Sequential/Write_Bnd_Real.f90' include 'Comm_Mod/Sequential/Write_Cell_Real.f90' include 'Comm_Mod/Sequential/Write_Real.f90'