I've restructured the way the code is run to that I can do multiple runs at once and to hopefully make it easier to re-produce runs and look at older runs quickly. Below is how it works.
Whenever I do a new run, the first thing that python does is create a new 'working directory' of the following format:
Whenever I do a new run, the first thing that python does is create a new 'working directory' of the following format:
runYYYYMD_HM
where
YYYY is the year (2010)
M is the month (2)
D is the day (1)
H is the hour (1337)
so in this example the directory would be called: run201021_1337
This in done in python by the following code:
now = dt.datetime.now()
year = now.year
month = now.month
day = now.day
hour = now.hour
minute = now.minute
workingDir = "run%d%d%d_%d%d"%(year,month,day,hour,minute)
command = "mkdir "+ workingDir
os.system(command)
Within this directory all the photometric and spectroscopic data files are placed for each of the redshift bins. These files are in the format:
photo2D.dat - ra and dec of all photometric data
spec2D_#.dat - ra and dec of the spectroscopic data in the # redshift bin
spec3D_#.dat - x, y, z of the spectroscopic data in the # redshift bin
photoCD.dat - the comoving distance of the photometric data (from photo-zs)
I then compute the 2D cross correlation functions between the photo2D.dat and spec2D_#.dat files and these are saved in the wps#.dat files. The input arguments for these correlation functions are in the files wpsInputs#.
I then compute the 3D auto correlation functions on the spec3D_#.dat files and these are saved in the xiss#.dat files. The input arguments for these correlation functions are in the files xiInputs#.
I then compute the 3D auto correlation functions on the spec3D_#.dat files and these are saved in the xiss#.dat files. The input arguments for these correlation functions are in the files xiInputs#.
Because the correlation functions in each redshift bin are submitted as qsub jobs, they take a while to run... so at this point you need to wait for all those jobs to finish. The jobs are named as follows:
2D Cross Correlation: JessWps#workingDir
3D Auto Correlation: JessXiss#workingDir
where # is the redshift bin and workingDir is the name of the working directory.
I can monitor the qsub jobs by typing in 'qstat' to see what is running. Once all the jobs for my working directory are completed then I do the following:
load in the constants from the run file (I put this in the working directory) and it is named YYMMDD_#run.py
where YY is the year (10)load in the constants from the run file (I put this in the working directory) and it is named YYMMDD_#run.py
MM is the month (02)
and DD is the day (01)
# is the run number (if I've done multiple runs on this day)
I set the variable workingDir to the working directory.
I load in the photometric comoving distances (which are saved in a file called photoCD.dat):
photoCD = readPhotoCDfile(photoCDfile)I create the wps and xi matrixes (which are used in the reconstruction) and save them as files:
wpsMat.dat and xiMat.dat respectively.Then I can do the reconstruction of the redshift distribution and compare it to the photoCD.
No comments:
Post a Comment