Skip to content

Commit 87bf869

Browse files
authored
Merge pull request #242 from LSSTDESC/roman_rubin
Roman_Rubin Updates
2 parents 5aaf904 + 07dcfe5 commit 87bf869

17 files changed

+157
-44
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
#SBATCH -A m1727
3+
#SBATCH -C cpu
4+
#SBATCH -q regular
5+
#SBATCH -t 8:00:00
6+
#SBATCH --nodes=1
7+
#SBATCH --ntasks=8
8+
#SBATCH --cpus-per-task=32
9+
10+
export OMP_NUM_THREADS=32
11+
12+
./run_master.sh -p /global/cfs/projectdirs/lsst/groups/SRV/gcr-catalogs -c skysim5000_v1.2 -t tpcf_Wang2013_rSDSS_jack
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
#SBATCH -A m1727
3+
#SBATCH -C cpu
4+
#SBATCH -q regular
5+
#SBATCH -t 8:00:00
6+
#SBATCH --nodes=1
7+
#SBATCH --ntasks=1
8+
#SBATCH --cpus-per-task=128
9+
10+
export OMP_NUM_THREADS=32
11+
12+
./run_master.sh -c skysim5000_v1.2 -t Nz_r_DEEP2_JAN_fig
13+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
#SBATCH -A m1727
3+
#SBATCH -C cpu
4+
#SBATCH -q regular
5+
#SBATCH -t 8:00:00
6+
#SBATCH --nodes=1
7+
#SBATCH --ntasks=1
8+
#SBATCH --cpus-per-task=128
9+
10+
export OMP_NUM_THREADS=32
11+
12+
./run_master.sh -c skysim5000_v1.2_image -t delta_sigma_sdss_lowz
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
#SBATCH -A m1727
3+
#SBATCH -C cpu
4+
#SBATCH -q regular
5+
#SBATCH -t 8:00:00
6+
#SBATCH --nodes=1
7+
#SBATCH --ntasks=1
8+
#SBATCH --cpus-per-task=128
9+
10+
export OMP_NUM_THREADS=32
11+
12+
./run_master.sh -c skysim5000_v1.2 -t shear
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/bash
2+
#SBATCH -A m1727
3+
#SBATCH -C cpu
4+
#SBATCH -q regular
5+
#SBATCH -t 8:00:00
6+
#SBATCH --nodes=1
7+
#SBATCH --ntasks=1
8+
#SBATCH --cpus-per-task=128
9+
10+
export OMP_NUM_THREADS=32
11+
12+
./run_master.sh -c skysim5000_v1.2_image -t tpcf_Zehavi2011_color_fig

descqa/CheckColors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ class kernelCompare:
5959
def __init__(self,D1, D2):
6060
self._D1 = D1
6161
self._D2 = D2
62-
self._XY = np.vstack((D1, D2))
62+
self._XY = np.vstack(list(D1, D2))
6363
self._scale = self._computeScale(self._XY)
6464
self._n1 = len(D1)
6565
self._n2 = len(D2)

descqa/DeltaSigmaTest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
180180
gt = gt/counts
181181

182182
outfile = os.path.join(output_dir, 'DS_'+str(self.data)+'_'+str(i)+'.dat')
183-
np.savetxt(outfile, np.vstack((rp.value, gt.value)).T)
183+
np.savetxt(outfile, np.vstack(list(rp.value, gt.value)).T)
184184

185185

186186
if self.data == 'sdss_lowz':

descqa/EllipticityDistribution.py

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class EllipticityDistribution(BaseValidationTest):
2828
'band_Mag': ['V', 'r', 'g'],
2929
'zlo': 0.0,
3030
'zhi': 2.0,
31-
'definition': 'e_squared',
31+
'definition': 'e_distortion',
3232
'morphology': ('LRG', 'early', 'disk', 'late'),
3333
'filename_template': 'ellipticity/COSMOS/joachimi_et_al_2013/{}{}_{}.dat',
3434
'file-info': {
@@ -46,22 +46,27 @@ class EllipticityDistribution(BaseValidationTest):
4646
'disk':{'B/T_min':0., 'B/T_max':0.2, 'mag_lo':24., 'Mag_hi':-21., 'Mag_lo':-17.},
4747
'late':{'B/T_min':0.4, 'B/T_max':0.7, 'mag_lo':24., 'Mag_hi':-21., 'Mag_lo':-17.},
4848
'irregular':{'B/T_min':0.0, 'B/T_max':1.0},
49-
'ancillary_quantities':['bulge_to_total_ratio_i', 'bulge_to_total_ratio_stellar'],
49+
'ancillary_quantities':['bulge_to_total_ratio_i', 'bulge_to_total_ratio_stellar',
50+
'bulge_to_total_ratio'],
5051
'ancillary_keys':['B/T'],
5152
},
5253
},
5354
}
5455

5556
#define ellipticity functions
5657
@staticmethod
57-
def e_default(e):
58+
def e_shear(e):
5859
return e
5960

6061
@staticmethod
61-
def e_squared(a, b):
62+
def e_distortion(a, b):
6263
q = b/a
6364
return (1-q**2)/(1+q**2)
6465

66+
@staticmethod
67+
def e_shear_to_distortion(e):
68+
return 2*e/(1+e**2)
69+
6570
#plotting constants
6671
lw2 = 2
6772
fsize = 16
@@ -86,6 +91,8 @@ def __init__(self, z='redshift_true', zlo=0., zhi=2., N_ebins=40, observation=''
8691
self.yfont_size = kwargs.get('yfont_size', 14)
8792
self.legend_size = kwargs.get('legend_size', 6)
8893
self.legend_title_size = kwargs.get('legend_title_size', 8)
94+
self.catalog_ellipticity_definition = kwargs.get('ellipticity_definition', 'e_shear')
95+
self.convert_to_distortion = kwargs.get('convert_to_distortion', False)
8996

9097
possible_mag_fields = ('mag_{}_lsst',
9198
'mag_{}_sdss',
@@ -103,16 +110,16 @@ def __init__(self, z='redshift_true', zlo=0., zhi=2., N_ebins=40, observation=''
103110
possible_native_luminosities = {'V':'otherLuminosities/totalLuminositiesStellar:V:rest',
104111
}
105112

106-
possible_ellipticity_definitions = {'e_default':{'possible_quantities':[['ellipticity', 'ellipticity_true']],
107-
'function':self.e_default,
108-
'xaxis_label': r'$e = (1-q)/(1+q)$',
109-
'file_label':'e',
110-
},
111-
'e_squared':{'possible_quantities':[['size', 'size_true'], ['size_minor', 'size_minor_true']],
112-
'function':self.e_squared,
113-
'xaxis_label': r'$e = (1-q^2)/(1+q^2)$',
114-
'file_label':'e2',
115-
},
113+
possible_ellipticity_definitions = {'e_shear':{'possible_quantities':[['ellipticity', 'ellipticity_true']],
114+
'function':self.e_shear,
115+
'xaxis_label': r'$e = (1-q)/(1+q)$',
116+
'file_label':'es',
117+
},
118+
'e_distortion':{'possible_quantities':[['size', 'size_true'], ['size_minor', 'size_minor_true']],
119+
'function':self.e_distortion,
120+
'xaxis_label': r'$e = (1-q^2)/(1+q^2)$',
121+
'file_label':'ed',
122+
},
116123
}
117124
#binning
118125
self.N_ebins = N_ebins
@@ -150,10 +157,16 @@ def __init__(self, z='redshift_true', zlo=0., zhi=2., N_ebins=40, observation=''
150157
self.Mag_hi = dict(zip(self.morphology, [self.validation_data.get('cuts', {}).get(m, {}).get('Mag_hi', Mag_hi) for m in self.morphology]))
151158

152159
#check for ellipticity definitions
153-
self.possible_quantities = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_default')]['possible_quantities']
154-
self.ellipticity_function = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_default')].get('function')
155-
self.xaxis_label = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_default')].get('xaxis_label')
156-
self.file_label = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_default')].get('file_label')
160+
self.possible_quantities = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_shear')]['possible_quantities']
161+
self.ellipticity_function = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_shear')].get('function')
162+
self.xaxis_label = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_shear')].get('xaxis_label')
163+
self.file_label = possible_ellipticity_definitions[self.validation_data.get('definition', 'e_shear')].get('file_label')
164+
165+
#check for ellipticity conversions and overwrite previous definitions
166+
if self.convert_to_distortion and self.catalog_ellipticity_definition == 'e_shear':
167+
self.possible_quantities = possible_ellipticity_definitions[self.catalog_ellipticity_definition]['possible_quantities']
168+
self.ellipticity_function = self.e_shear_to_distortion
169+
print('Converting from e_shear to e_distortion')
157170

158171
#check for native quantities
159172
self.native_luminosities = dict(zip([band for band in possible_native_luminosities if band in self.band_Mag],\
@@ -235,6 +248,7 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
235248
required_quantities.append(found_quantity)
236249
if not catalog_instance.has_quantities(required_quantities + self.filter_quantities):
237250
return TestResult(skipped=True, summary='Missing some required quantities: {}'.format(', '.join(required_quantities)))
251+
print('Required quantities', required_quantities)
238252
ancillary_quantity = None
239253
if self.possible_ancillary_quantities is not None:
240254
ancillary_quantity = catalog_instance.first_available(*self.possible_ancillary_quantities)
@@ -262,7 +276,7 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
262276
fontsize=self.yfont_size) #setup a common axis label
263277

264278
#initialize arrays for storing histogram sums
265-
N_array = np.zeros((self.nrows, self.ncolumns, len(self.ebins)-1), dtype=np.int)
279+
N_array = np.zeros((self.nrows, self.ncolumns, len(self.ebins)-1), dtype=int)
266280
sume_array = np.zeros((self.nrows, self.ncolumns, len(self.ebins)-1))
267281
sume2_array = np.zeros((self.nrows, self.ncolumns, len(self.ebins)-1))
268282

@@ -477,7 +491,7 @@ def save_quantities(keyname, results, filename, comment=''):
477491
else:
478492
fields = ('e_ave', keyname)
479493
header = ', '.join(('Data columns are: <e>', keyname, ' '))
480-
np.savetxt(filename, np.vstack((results[k] for k in fields)).T, fmt='%12.4e', header=header+comment)
494+
np.savetxt(filename, np.vstack([results[k] for k in fields]).T, fmt='%12.4e', header=header+comment)
481495

482496

483497
def conclude_test(self, output_dir):

descqa/NumberDensityVersusRedshift.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,16 @@ def __init__(self, band='i', N_zbins=10, zlo=0., zhi=1.1,
106106
# pylint: disable=W0231
107107

108108
#catalog quantities
109-
self.truncate_cat_name = kwargs.get('truncate_cat_name', False)
109+
self.truncate_cat_name = kwargs.get('truncate_cat_name', 0)
110110
self.replace_cat_name = kwargs.get('replace_cat_name', {})
111111
self.title_in_legend = kwargs.get('title_in_legend', False)
112112
self.legend_location = kwargs.get('legend_location', 'upper left')
113113
self.font_size = kwargs.get('font_size', 16)
114114
self.legend_size = kwargs.get('legend_size', 10)
115115
self.tick_size = kwargs.get('tick_size', 12)
116116
self.adjust_ylim = kwargs.get('adjust_ylim', 1.3)
117+
self.include_reference = kwargs.get('include_reference', False)
118+
self.insert_line_break = kwargs.get('insert_line_break', True)
117119
self.rest_frame = rest_frame
118120
if self.rest_frame:
119121
possible_mag_fields = ('Mag_true_{}_lsst_z0',
@@ -250,8 +252,11 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
250252
filelabel = '_'.join((filtername, self.band))
251253

252254
#setup plots
253-
if self.truncate_cat_name:
254-
catalog_name = re.split('_', catalog_name)[0]
255+
if self.truncate_cat_name > 0:
256+
possible_names = re.split('_', catalog_name)
257+
catalog_name = possible_names[0]
258+
for n in range(1, self.truncate_cat_name):
259+
catalog_name = '_'.join((catalog_name, possible_names[n]))
255260
if self.replace_cat_name:
256261
for k, v in self.replace_cat_name.items():
257262
catalog_name = re.sub(k, v, catalog_name)
@@ -261,7 +266,7 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
261266
catalog_marker = next(self.markers)
262267

263268
#initialize arrays for storing histogram sums
264-
N_array = np.zeros((self.nrows, self.ncolumns, len(self.zbins)-1), dtype=np.int)
269+
N_array = np.zeros((self.nrows, self.ncolumns, len(self.zbins)-1), dtype=int)
265270
sumz_array = np.zeros((self.nrows, self.ncolumns, len(self.zbins)-1))
266271

267272
jackknife_data = {}
@@ -345,8 +350,11 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
345350
Nerrors = np.sqrt(np.diag(covariance))
346351

347352
#make subplot
348-
catalog_label = ' '.join((catalog_name, cut_label.replace(self.band, filtername + ' ' + self.band)))
349-
validation_label = ' '.join((self.validation_data.get('label', ''), cut_label))
353+
line_break = '\n' if self.insert_line_break else ''
354+
catalog_label = ' '.join((catalog_name, line_break,
355+
cut_label.replace(self.band, filtername + ' ' + self.band)))
356+
val_label = self.validation_data.get('label', '') if self.include_reference else ''
357+
validation_label = ' '.join((val_label, cut_label)) if val_label else cut_label
350358
key = cut_label.replace('$', '').replace('\\leq', '<=')
351359
results[key] = {'meanz': meanz, 'total':total, 'N':N, 'N+-':Nerrors}
352360
self.catalog_subplot(ax_this, meanz, N, Nerrors, catalog_color, catalog_marker, catalog_label)
@@ -403,7 +411,7 @@ def get_jackknife_errors(self, N_jack, jackknife_data, N):
403411
_, jack_labels, _ = k_means(n_clusters=N_jack, random_state=0, X=nn, n_init='auto')
404412

405413
#make histograms for jackknife regions
406-
Njack_array = np.zeros((N_jack, len(self.zbins)-1), dtype=np.int)
414+
Njack_array = np.zeros((N_jack, len(self.zbins)-1), dtype=int)
407415
for nj in range(N_jack):
408416
Njack_array[nj] = np.histogram(jackknife_data[self.zlabel][jack_labels != nj], self.zbins)[0]
409417

descqa/StellarMassFunction.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ def run_on_single_catalog(self, catalog_instance, catalog_name, output_dir):
165165
catalog_name = catalog_name.partition("_")[0]
166166

167167
#initialize arrays for storing histogram sums
168-
N_array = np.zeros((self.nrows, self.ncolumns, len(self.Mbins)-1), dtype=np.int)
168+
N_array = np.zeros((self.nrows, self.ncolumns, len(self.Mbins)-1), dtype=int)
169169
sumM_array = np.zeros((self.nrows, self.ncolumns, len(self.Mbins)-1))
170170
sumM2_array = np.zeros((self.nrows, self.ncolumns, len(self.Mbins)-1))
171171

@@ -320,7 +320,7 @@ def save_quantities(keyname, results, filename, comment=''):
320320
else:
321321
fields = ('M'+keyname, keyname)
322322
header = ', '.join(('Data columns are: <M>', keyname, ' '))
323-
np.savetxt(filename, np.vstack((results[k] for k in fields)).T, fmt='%12.4e', header=header+comment)
323+
np.savetxt(filename, np.vstack(list(results[k] for k in fields)).T, fmt='%12.4e', header=header+comment)
324324

325325

326326
def conclude_test(self, output_dir):

0 commit comments

Comments
 (0)