#include "allvars.h"

struct io file;

struct ip in;

struct op out;
struct op outparam = {"grid.txt", "coords.txt", "grid_real.bin", "grid_img.bin", "fft.txt", "fft_real.bin", "fft_img.bin", "run.log", ".txt", "timings.dat"};

struct meta metaData;
struct time timing;
struct parameter param;
struct fileData data;

int w_support = 7;
char filename[1000], buf[30], num_buf[30];
char datapath[900];
int xaxis, yaxis;
int grid_size_x = 2048;
int grid_size_y = 2048;
int num_w_planes = 8;
int rank;
int size;
long nsectors;
long startrow;
double resolution, dx, dw, w_supporth;

clock_t start, end, start0, startk, endk;
struct timespec begin, finish, begin0, begink, finishk;

struct sectorlist ** sectorhead;
long * histo_send, size_of_grid;
double * grid, *gridss, *gridss_real, *gridss_img, *gridss_w;
fftw_complex *fftwgrid;

#ifdef USE_MPI
    MPI_Win slabwin;
#endif
