diff --git a/doc/bayescbc.md b/doc/bayescbc.md index fe44430a94234c4f862623752be94af2a0f55d2f..5d3144c375227387866c3f40aafec7d49c52bf38 100644 --- a/doc/bayescbc.md +++ b/doc/bayescbc.md @@ -6,4 +6,4 @@ This page describes how the BayesCBC module for BayesWave. - `chains/cbc_model.dat.` where i is the chain number (BW prints cold chain 0 by default, with verbose flags chain files for all chains are printed) -- `wavesCBC/*` CBC waveforms +- `waveforms/*` CBC waveforms diff --git a/src/BayesCBC.c b/src/BayesCBC.c index 192affefb8a39f133260e37c98a04059e3754fce..1a076c34e8b48838d1f7865cb5dac1cb62153a24 100644 --- a/src/BayesCBC.c +++ b/src/BayesCBC.c @@ -580,7 +580,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub // printf("%d %f %f\n", iter, exp(paramx[0])/MSUN_SI, fs); for (id = 0; id < net->Nifo; ++id) { - sprintf(command, "wavesCBC/wavefcheck_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wavefcheck_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 1; i < N/2; ++i) { @@ -692,7 +692,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub for (id = 0; id < net->Nifo; ++id) { - sprintf(command, "wavesCBC/wave_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wave_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 0; i < N; ++i) { @@ -700,7 +700,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub } fclose(out); - sprintf(command, "wavesCBC/wavedata_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wavedata_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 0; i < N; ++i) { @@ -711,7 +711,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub for (id = 0; id < net->Nifo; ++id) { - sprintf(command, "wavesCBC/wavef_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wavef_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 1; i < N/2; ++i) { @@ -735,7 +735,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub // printf(" amplitude factor: %f\n\n",fac); for (id = 0; id < net->Nifo; ++id) { - sprintf(command, "wavesCBC/wavewhite_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wavewhite_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 0; i < N; ++i) { @@ -743,7 +743,7 @@ void printwaveall(struct Net *net, int N, RealVector *freq, double *paramx, doub } fclose(out); - sprintf(command, "wavesCBC/wavedatawhite_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); + sprintf(command, "waveforms/wavedatawhite_%d_%d_%d_%d.dat", iter, (int)(Tobs), (int)ttrig, net->labels[id]); out = fopen(command,"w"); for (i = 0; i < N; ++i) { diff --git a/src/BayesWave.c b/src/BayesWave.c index 8d47e8bc5c38d125ee4dffe261964c8216542789..b9fc3de1a43499b2038f96ea60153ea6b6b0324d 100644 --- a/src/BayesWave.c +++ b/src/BayesWave.c @@ -159,7 +159,6 @@ int main(int argc, char *argv[]) mode_t process_mask = umask(0); mkdir("chains", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); mkdir("waveforms", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); - mkdir("wavesCBC", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); if(data->checkpointFlag) mkdir("checkpoint",S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); sprintf(filename,"%ssnr",data->runName); mkdir(filename, S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH); diff --git a/src/BayesWaveMCMC.c b/src/BayesWaveMCMC.c index c23db7f9a908f7f852259980f02aa0833bdcc9da..6bbd647905a7935e98562592bc864a2dc7ae029e 100644 --- a/src/BayesWaveMCMC.c +++ b/src/BayesWaveMCMC.c @@ -1106,7 +1106,10 @@ void RJMCMC(struct Data *data, struct Model **model, struct BayesLineParams ***b if(data->runPhase==0)snprintf(modelname,MAXSTRINGSIZE,"%sclean",data->runName); else { - if(!data->glitchFlag && !data->signalFlag) + if(data->cbcFlag) + snprintf(modelname,MAXSTRINGSIZE,"%scbc",data->runName); + + else if(!data->glitchFlag && !data->signalFlag) snprintf(modelname,MAXSTRINGSIZE,"%snoise",data->runName); else if(data->glitchFlag && !data->signalFlag) @@ -1429,6 +1432,15 @@ void RJMCMC(struct Data *data, struct Model **model, struct BayesLineParams ***b sprintf(filename,"waveforms/%s_colored_wave_%s_%d.dat", modelname, data->ifos[ifo], frame); print_colored_time_domain_waveforms(filename, model[chain->index[0]]->response[ifo], N, data->Tobs, data->imin, data->imax, prior->range[0][0], prior->range[0][1]); } + + if(data->cbcFlag) + { + sprintf(filename,"waveforms/%s_cbc_%s_%d.dat", modelname, data->ifos[ifo], frame); + print_time_domain_waveforms(filename, model[chain->index[0]]->cbctemplate[ifo], N, model[chain->index[0]]->Snf[ifo], data->Tobs, data->imin, data->imax, prior->range[0][0], prior->range[0][1]); + + sprintf(filename,"waveforms/%s_colored_cbc_%s_%d.dat", modelname, data->ifos[ifo], frame); + print_colored_time_domain_waveforms(filename, model[chain->index[0]]->cbctemplate[ifo], N, data->Tobs, data->imin, data->imax, prior->range[0][0], prior->range[0][1]); + } } frame++; } @@ -2631,7 +2643,8 @@ void EvolveBayesCBCParameters(struct Data *data, struct Model **model, struct ba projectCBCWaveform(model_x->cbcamphase, N, NI, fmin, data->Tobs, model_x->extParams, model_x->cbctemplate, projection->dtimes, projection->Fplus, projection->Fcross); // Save 200 waveforms temporarily for checking residuals + template - if (ic==0 && bayescbc->debug == 1 && chain->mc%(chain->count/200)==0) print_projected_cbc_waveform(bayescbc->SN, data->Tobs, data->trigtime, model_x->cbctemplate, bayescbc->D, N, bayescbc->mxc[0], bayescbc); + //if (ic==0 && bayescbc->debug == 1 && chain->mc%(chain->count/200)==0) print_projected_cbc_waveform(bayescbc->SN, data->Tobs, data->trigtime, model_x->cbctemplate, bayescbc->D, N, bayescbc->mxc[0], bayescbc); + // Recompute likelihoods of current chain model_x->logLnorm = 0.0;