#include "i3_model.h" #include "i3_model_tools.h" #include #ifdef MPI #include "mpi.h" #endif int main(int argc, char *argv[]){ // set up i3_init_rng(); FILE * file; i3_flt snr; if(argc==1) snr = 20; else snr = atof(argv[1]); int n_pix = 29; // i3_flt cut_off = 0.4; int n_grid_e = 71; int n_grid_r = 11; int n_grid_ee = n_grid_e*n_grid_e; int n_grid_eer = n_grid_ee*n_grid_r; char * models_id = "test4"; // for a model with this id the chi2 will be calculated int mid = 39441-1; int metric = 2; // read models into memory printf("reading %d models \n",n_grid_eer); i3_image ** models_images = malloc(sizeof(i3_image*)*n_grid_eer); i3_flt * grid_eer_e1 = malloc(sizeof(i3_flt)*n_grid_eer); i3_flt * grid_eer_e2 = malloc(sizeof(i3_flt)*n_grid_eer); i3_flt * grid_eer_r = malloc(sizeof(i3_flt)*n_grid_eer); char filename_models_params[128]; snprintf(filename_models_params,128,"models/models_%s_params.dat",models_id); char filename_models_images[128]; snprintf(filename_models_images,128,"models/models_%s_images.dat",models_id); FILE * file_models_params = fopen(filename_models_params,"r"); if(!file_models_params) I3_FATAL("Models params file read error",1); FILE * file_models_images = fopen(filename_models_images,"r"); if(!file_models_images) I3_FATAL("Models images file read error",1); if(!file_models_images || !file_models_params ){ I3_FATAL("models files not found",1);}; for(int i=0;idata,sizeof(i3_flt),n_pix*n_pix,file_models_images); fread(&grid_eer_e1[i],sizeof(i3_flt),1,file_models_params); fread(&grid_eer_e2[i],sizeof(i3_flt),1,file_models_params); fread(&grid_eer_r[i],sizeof(i3_flt),1,file_models_params); } fclose(file_models_params); fclose(file_models_images); // create the grids i3_flt * grid_ee_e1 = malloc(sizeof(i3_flt)*n_grid_ee); i3_flt * grid_ee_e2 = malloc(sizeof(i3_flt)*n_grid_ee); for(int ge=0;ge