Changeset 3594 in Sophya


Ignore:
Timestamp:
Apr 10, 2009, 4:59:52 PM (16 years ago)
Author:
cmv
Message:

options pour ecrire les cubes a divers endroits du main, cmv 10/04/2009

Location:
trunk/Cosmo/SimLSS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Cosmo/SimLSS/cmvobserv3d.cc

    r3590 r3594  
    6060     <<"              e=1 : write fourier transform of previous cube (_k)"<<endl
    6161     <<" -S : write cube slices in PPF format"<<endl
     62     <<" -o root_name_out : root string for output file name (def: cmvobserv3d)"<<endl
    6263     <<" -V : compute variance from real space (for check, default: no)"<<endl
    6364     <<" -T nth : nombre de threads (si compil multi-thread, default: 0)"<<endl
     
    133134 bool compvarreal = false;
    134135 unsigned short whattowrt[5] = {1,1,1,1,1};
     136 string rootnameout = "cmvobserv3d";
    135137
    136138 unsigned long ntnent = 10000;  // 0 = do not fill NTuple
     
    145147
    146148 char c;
    147  while((c = getopt(narg,arg,"ha0PWSV2U:G:F:x:y:z:s:Z:M:A:T:N:Q:R:8:O:")) != -1) {
     149 while((c = getopt(narg,arg,"ha0PWSV2U:G:F:x:y:z:s:Z:M:A:T:N:Q:R:8:O:o:")) != -1) {
    148150  int nth = 0;
    149151  switch (c) {
     
    217219  case 'S' :
    218220    wslice = true;
     221    break;
     222  case 'o' :
     223    rootnameout = optarg;
    219224    break;
    220225  case 'T' :
     
    256261     <<whattowrt[0]<<","<<whattowrt[1]<<","<<whattowrt[2]<<","<<whattowrt[3]<<","
    257262     <<whattowrt[4]<<endl;
    258 
    259  string tagobs = "cmvobserv3d.ppf";
     263 cout<<"rootnameout="<<rootnameout<<endl;
     264
     265 string tagobs = rootnameout + ".ppf";
    260266 POutPersist posobs(tagobs);
    261267
     
    507513 if(whattowrt[0]==1) {
    508514 if(wfits) {
    509    fluct3d.WriteFits("!cmvobserv3d_k0.fits");
     515   tagobs = "!" + rootnameout + "_k0.fits";
     516   fluct3d.WriteFits(tagobs);
    510517   PrtTim(">>>> End WriteFits");
    511518 }
    512519 if(wppf) {
    513    fluct3d.WritePPF("cmvobserv3d_k0.ppf",false);
     520   tagobs = rootnameout + "_k0.ppf";
     521   fluct3d.WritePPF(tagobs,false);
    514522   PrtTim(">>>> End WritePPF");
    515523 }
     
    543551 if(whattowrt[1]==1) {
    544552 if(wfits) {
    545    fluct3d.WriteFits("!cmvobserv3d_r0.fits");
     553   tagobs = "!" + rootnameout + "_r0.fits";
     554   fluct3d.WriteFits(tagobs);
    546555   PrtTim(">>>> End WriteFits");
    547556 }
    548557 if(wppf) {
    549    fluct3d.WritePPF("cmvobserv3d_r0.ppf",true);
     558   tagobs = rootnameout + "_r0.ppf";
     559   fluct3d.WritePPF(tagobs,true);
    550560   PrtTim(">>>> End WritePPF");
    551561 }
    552562 if(wslice) {
    553    fluct3d.WriteSlicePPF("cmvobserv3d_s_r0.ppf");
     563   tagobs = rootnameout + "_s_r0.ppf";
     564   fluct3d.WriteSlicePPF(tagobs);
    554565   PrtTim(">>>> End WriteSlicePPF");
    555566 }
     
    604615   PrtTim(">>>> End Apply poisson on galaxy number");
    605616   if(wslice) {
    606      fluct3d.WriteSlicePPF("cmvobserv3d_s_rn.ppf");
     617     tagobs = rootnameout + "_s_rn.ppf";
     618     fluct3d.WriteSlicePPF(tagobs);
    607619     PrtTim(">>>> End WriteSlicePPF");
    608620   }
     
    633645 if(whattowrt[2]==1) {
    634646 if(wfits) {
    635    fluct3d.WriteFits("!cmvobserv3d_r.fits");
     647   tagobs = "!" + rootnameout + "_r.fits";
     648   fluct3d.WriteFits(tagobs);
    636649   PrtTim(">>>> End WriteFits");
    637650 }
    638651 if(wppf) {
    639    fluct3d.WritePPF("cmvobserv3d_r.ppf",true);
     652   tagobs = rootnameout + "_r.ppf";
     653   fluct3d.WritePPF(tagobs,true);
    640654   PrtTim(">>>> End WritePPF");
    641655 }
    642656 if(wslice) {
    643    fluct3d.WriteSlicePPF("cmvobserv3d_s_r.ppf");
     657   tagobs = rootnameout + "_s_r.ppf";
     658   fluct3d.WriteSlicePPF(tagobs);
    644659   PrtTim(">>>> End WriteSlicePPF");
    645660 }
     
    681696 if(whattowrt[3]==1) {
    682697 if(wfits) {
    683    fluct3d.WriteFits("!cmvobserv3d_rf.fits");
     698   tagobs = "!" + rootnameout + "_rf.fits";
     699   fluct3d.WriteFits(tagobs);
    684700   PrtTim(">>>> End WriteFits");
    685701 }
    686702 if(wppf) {
    687    fluct3d.WritePPF("cmvobserv3d_rf.ppf",true);
     703   tagobs = rootnameout + "_rf.ppf";
     704   fluct3d.WritePPF(tagobs,true);
    688705   PrtTim(">>>> End WritePPF");
    689706 }
    690707 if(wslice) {
    691    fluct3d.WriteSlicePPF("cmvobserv3d_s_rf.ppf");
     708   tagobs = rootnameout + "_s_rf.ppf";
     709   fluct3d.WriteSlicePPF(tagobs);
    692710   PrtTim(">>>> End WriteSlicePPF");
    693711 }
     
    704722 if(whattowrt[4]==1) {
    705723 if(wfits) {
    706    fluct3d.WriteFits("!cmvobserv3d_k.fits");
     724   tagobs = "!" + rootnameout + "_k.fits";
     725   fluct3d.WriteFits(tagobs);
    707726   PrtTim(">>>> End WriteFits");
    708727 }
    709728 if(wppf) {
    710    fluct3d.WritePPF("cmvobserv3d_k.ppf",false);
     729   tagobs = rootnameout + "_k.ppf";
     730   fluct3d.WritePPF(tagobs,false);
    711731   PrtTim(">>>> End WritePPF");
    712732 }
  • trunk/Cosmo/SimLSS/genefluct3d.cc

    r3572 r3594  
    910910
    911911 // On corrige du pb de la normalisation de FFTW3
    912  double v = (double)NRtot_;
     912 complex<r_8> v((r_8)NRtot_,0.);
    913913 for(long i=0;i<Nx_;i++)
    914914   for(long j=0;j<Ny_;j++)
    915      for(long l=0;l<NCz_;l++) T_(l,j,i) /= complex<r_8>(v);
    916 
     915     for(long l=0;l<NCz_;l++) T_(l,j,i) /= v;
    917916}
    918917
Note: See TracChangeset for help on using the changeset viewer.