In [ ]:
import h5py
import matplotlib
import matplotlib.pyplot as pyplot
mFN="nonparmorphs_SB25_12filters_all_FILES.hdf5"
def get_all_morph_val(msF,sk,fk,keyname,camera=None):
if camera is None:
morph_array = np.concatenate( (msF['nonparmorphs'][sk][fk]['CAMERA0'][keyname].value,
msF['nonparmorphs'][sk][fk]['CAMERA1'][keyname].value,
msF['nonparmorphs'][sk][fk]['CAMERA2'][keyname].value,
msF['nonparmorphs'][sk][fk]['CAMERA3'][keyname].value) )
else:
morph_array = msF['nonparmorphs'][sk][fk][camera][keyname].value
return morph_array
def get_all_snap_val(msF,sk,keyname,camera=None):
if camera is None:
val_array = np.concatenate( (msF['nonparmorphs'][sk][keyname].value,
msF['nonparmorphs'][sk][keyname].value,
msF['nonparmorphs'][sk][keyname].value,
msF['nonparmorphs'][sk][keyname].value) )
else:
val_array = msF['nonparmorphs'][sk][keyname].value
return val_array
In [45]:
with h5py.File(mFN,'r') as msF:
print(list(msF.keys()))
print(list(msF['nonparmorphs/snapshot_068/'].keys()))
print(msF['nonparmorphs/snapshot_068/Mstar_Msun'].value)
print(list(msF['nonparmorphs/snapshot_068/WFC3-F160W/CAMERA0'].keys()))
print('z= ',msF['nonparmorphs/snapshot_068/WFC3-F160W/CAMERA0/REDSHIFT'].value[0])
gini=msF['nonparmorphs/snapshot_068/WFC3-F160W/CAMERA0/GINI'].value
print(gini)
rp=msF['nonparmorphs/snapshot_068/WFC3-F160W/CAMERA0/RP'].value
rp_err=msF['nonparmorphs/snapshot_068/WFC3-F160W/CAMERA0/RP_ERR'].value
mstar = msF['nonparmorphs/snapshot_068/Mstar_Msun'].value
pyplot.semilogy(rp,rp_err/rp,'ok'); pyplot.xlim(0.0,50.0) ; pyplot.ylim(0.01,0.5)
pyplot.ylabel(r'$\sigma(R_p)/R_p$') ; pyplot.xlabel(r'$R_p$')
pyplot.show()
print(mstar.shape, gini.shape) #note need to concat lists of Mstar, Gini to use all 4 cameras
mstar_all = get_all_snap_val(msF,'snapshot_068','Mstar_Msun')
gini_all = get_all_morph_val(msF,'snapshot_068','WFC3-F160W','GINI')
print(mstar_all.shape, gini_all.shape)
In [ ]: