Commit 7bf334fe authored by Fang Yuedong's avatar Fang Yuedong
Browse files

Merge branch 'customizable_catalog' of...

Merge branch 'customizable_catalog' of ssh://119.78.210.97:31415/data/simudata/CSSOSDataProductsSims/codes/CSST into customizable_catalog
parents 17d62f9d b7ea47e9
...@@ -23,15 +23,13 @@ except ImportError: ...@@ -23,15 +23,13 @@ except ImportError:
NSIDE = 128 NSIDE = 128
class NGPCatalog(CatalogBase): class NGPCatalog(CatalogBase):
def __init__(self, config, chip, pointing, **kwargs): def __init__(self, config, chip, pointing, chip_output, **kwargs):
super().__init__() super().__init__()
self.cat_dir = os.path.join(config["data_dir"], config["input_path"]["cat_dir"]) self.cat_dir = os.path.join(config["data_dir"], config["input_path"]["cat_dir"])
self.seed_Av = config["random_seeds"]["seed_Av"] self.seed_Av = config["random_seeds"]["seed_Av"]
if "logger" in kwargs: self.chip_output = chip_output
self.logger = kwargs["logger"] self.logger = chip_output.logger
else:
self.logger = None
with pkg_resources.path('Catalog.data', 'SLOAN_SDSS.g.fits') as filter_path: with pkg_resources.path('Catalog.data', 'SLOAN_SDSS.g.fits') as filter_path:
self.normF_star = Table.read(str(filter_path)) self.normF_star = Table.read(str(filter_path))
...@@ -58,9 +56,17 @@ class NGPCatalog(CatalogBase): ...@@ -58,9 +56,17 @@ class NGPCatalog(CatalogBase):
else: else:
self.rotation = 0. self.rotation = 0.
# Update output .cat header with catalog specific output columns
self._add_output_columns_header()
self._get_healpix_list() self._get_healpix_list()
self._load() self._load()
def _add_output_columns_header(self):
self.add_hdr = " model_tag teff logg feh"
self.add_fmt = " %10s %8.4f %8.4f %8.4f"
self.chip_output.update_ouptut_header(additional_column_names=self.add_hdr)
def _get_healpix_list(self): def _get_healpix_list(self):
self.sky_coverage = self.chip.getSkyCoverageEnlarged(self.chip.img.wcs, margin=0.2) self.sky_coverage = self.chip.getSkyCoverageEnlarged(self.chip.img.wcs, margin=0.2)
ra_min, ra_max, dec_min, dec_max = self.sky_coverage.xmin, self.sky_coverage.xmax, self.sky_coverage.ymin, self.sky_coverage.ymax ra_min, ra_max, dec_min, dec_max = self.sky_coverage.xmin, self.sky_coverage.xmax, self.sky_coverage.ymin, self.sky_coverage.ymax
...@@ -181,9 +187,12 @@ class NGPCatalog(CatalogBase): ...@@ -181,9 +187,12 @@ class NGPCatalog(CatalogBase):
if param['star'] == 0: if param['star'] == 0:
obj = Galaxy(param, self.rotation, logger=self.logger) obj = Galaxy(param, self.rotation, logger=self.logger)
self.objs.append(obj)
if param['star'] == 2: if param['star'] == 2:
obj = Quasar(param, logger=self.logger) obj = Quasar(param, logger=self.logger)
# Need to deal with additional output columns
obj.additional_output_str = self.add_fmt%("n", 0., 0., 0.)
self.objs.append(obj) self.objs.append(obj)
def _load_stars(self, stars, pix_id=None): def _load_stars(self, stars, pix_id=None):
...@@ -249,6 +258,10 @@ class NGPCatalog(CatalogBase): ...@@ -249,6 +258,10 @@ class NGPCatalog(CatalogBase):
param['z'] = 0.0 param['z'] = 0.0
param['star'] = 1 # Star param['star'] = 1 # Star
obj = Star(param, logger=self.logger) obj = Star(param, logger=self.logger)
# Append additional output columns to the .cat file
obj.additional_output_str = self.add_fmt%(param["model_tag"], param['teff'], param['logg'], param['feh'])
self.objs.append(obj) self.objs.append(obj)
def _load(self, **kwargs): def _load(self, **kwargs):
...@@ -304,7 +317,8 @@ class NGPCatalog(CatalogBase): ...@@ -304,7 +317,8 @@ class NGPCatalog(CatalogBase):
raise ValueError("Object type not known") raise ValueError("Object type not known")
speci = interpolate.interp1d(wave, flux) speci = interpolate.interp1d(wave, flux)
# lamb = np.arange(2500, 10001 + 0.5, 0.5) # lamb = np.arange(2500, 10001 + 0.5, 0.5)
lamb = np.arange(2400, 11001 + 0.5, 0.5) # lamb = np.arange(2400, 11001 + 0.5, 0.5)
lamb = np.arange(2000, 18001 + 0.5, 0.5)
y = speci(lamb) y = speci(lamb)
# erg/s/cm2/A --> photo/s/m2/A # erg/s/cm2/A --> photo/s/m2/A
all_sed = y * lamb / (cons.h.value * cons.c.value) * 1e-13 all_sed = y * lamb / (cons.h.value * cons.c.value) * 1e-13
......
...@@ -11,6 +11,7 @@ class ChipOutput(object): ...@@ -11,6 +11,7 @@ class ChipOutput(object):
self.imgKey2 = imgKey2 self.imgKey2 = imgKey2
self.exptime = exptime self.exptime = exptime
self.mjdTime = mjdTime self.mjdTime = mjdTime
self.pointing_type = pointing_type
if (ra_cen is not None) and (dec_cen is not None): if (ra_cen is not None) and (dec_cen is not None):
self.ra_cen = ra_cen self.ra_cen = ra_cen
self.dec_cen = dec_cen self.dec_cen = dec_cen
...@@ -33,85 +34,49 @@ class ChipOutput(object): ...@@ -33,85 +34,49 @@ class ChipOutput(object):
fh = logging.FileHandler(os.path.join(self.subdir, logger_filename), mode='w+', encoding='utf-8') fh = logging.FileHandler(os.path.join(self.subdir, logger_filename), mode='w+', encoding='utf-8')
fh.setLevel(logging.DEBUG) fh.setLevel(logging.DEBUG)
self.logger.setLevel(logging.DEBUG) self.logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') logging.getLogger('numba').setLevel(logging.WARNING)
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
formatter = logging.Formatter('%(asctime)s - %(msecs)d - %(levelname)-8s - [%(filename)s:%(lineno)d] - %(message)s')
fh.setFormatter(formatter) fh.setFormatter(formatter)
self.logger.addHandler(fh) self.logger.addHandler(fh)
hdr1 = "# obj_ID ID_chip filter xImage yImage ra dec ra_orig dec_orig z mag obj_type " hdr1 = "# obj_ID ID_chip filter xImage yImage ra dec ra_orig dec_orig z mag obj_type "
hdr2 = "thetaR bfrac hlr_disk hlr_bulge e1_disk e2_disk e1_bulge e2_bulge g1 g2 " hdr2 = "thetaR bfrac hlr_disk hlr_bulge e1_disk e2_disk e1_bulge e2_bulge g1 g2 "
hdr3 = "sed_type av redden " hdr3 = "sed_type av redden "
hdr4 = "pm_ra pm_dec RV parallax\n" hdr4 = "pm_ra pm_dec RV parallax"
fmt1 = "%10d %4d %5s %10.3f %10.3f %15.8f %15.8f %15.8f %15.8f %7.4f %8.4f %15s " fmt1 = "%10d %4d %5s %10.3f %10.3f %15.8f %15.8f %15.8f %15.8f %7.4f %8.4f %15s "
fmt2 = "%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f " fmt2 = "%8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f %8.4f "
fmt3 = "%2d %8.4f %8.4f " fmt3 = "%2d %8.4f %8.4f "
fmt4 = "%15.8f %15.8f %15.8f %15.8f\n" fmt4 = "%15.8f %15.8f %15.8f %15.8f"
self.hdr = hdr1 + hdr2 + hdr3 + hdr4 self.hdr = hdr1 + hdr2 + hdr3 + hdr4
self.fmt = fmt1 + fmt2 + fmt3 + fmt4 self.fmt = fmt1 + fmt2 + fmt3 + fmt4
self.logger.info("pointing_type = %s\n"%(pointing_type)) self.logger.info("pointing_type = %s\n"%(pointing_type))
if pointing_type == 'MS':
def update_ouptut_header(self, additional_column_names=""):
self.hdr += additional_column_names
def create_output_file(self):
if self.pointing_type == 'MS':
self.cat = open(os.path.join(self.subdir, self.cat_name), "w") self.cat = open(os.path.join(self.subdir, self.cat_name), "w")
self.logger.info("Creating catalog file %s ...\n"%(os.path.join(self.subdir, self.cat_name))) self.logger.info("Creating catalog file %s ...\n"%(os.path.join(self.subdir, self.cat_name)))
if not self.hdr.endswith("\n"):
self.hdr += "\n"
self.cat.write(self.hdr) self.cat.write(self.hdr)
# def updateHDR(self, hdr):
# hdrNew = [{"name":"RDNOISE", "value":self.chip.read_noise, "comment":"read noise in e-/pixel"},
# {"name":"DARK", "value":self.chip.dark_noise, "comment":"Dark noise (e-/pixel/s)"},
# {"name":"EXPTIME", "value":self.exptime, "comment":"exposure time in second"},
# {"name":"GAIN", "value":self.chip.gain, "comment":"CCD gain in e-/ADU"},
# {"name":"SATURATE","value":65535.0, "comment":"saturation level"},
# {"name":"CCDCHIP", "value":int(self.chipLabel), "comment":"chip ID in the CCD mosaic"},
# {"name":"FILTER", "value":self.filt.filter_type, "comment":"filter name"},
# {"name":"MJD-OBS", "value":self.mjdTime, "comment":"Modified Julian Date (MJD) of observation"},
# {"name":"DATE-OBS","value":self.imgKey1, "comment":"Date of observation"},
# {"name":"EQUINOX", "value":2000.0},
# {"name":"RADECSYS","value":"ICRS"},
# {"name":"RA", "value":self.ra_cen, "comment":"telescope pointing center"},
# {"name":"DEC", "value":self.dec_cen, "comment":"telescope pointing center"},
# {"name":"OBJECT", "value":"CSS-OS"},
# {"name":"WCSDIM", "value":2.0, "comment":"WCS Dimensionality"},
# {"name":"EXTNAME", "value":"IM1", "comment":"Extension name"},
# {"name":"BSCALE", "value":1.0},
# {"name":"BZERO", "value":0.0},
# {"name":"OBSID", "value":self.imgKey0, "comment":"Observation ID"},
# {"name":"CCDNAME", "value":"ccd"+self.chipLabel,"comment":"CCD name"},
# {"name":"RSPEED", "value":10.0, "comment":"Read speed"},
# {"name":"CHIPTEMP","value":-100.0, "comment":"Chip temperature"},
# {"name":"DATASEC", "value":"1:%d,1:%d"%(self.chip.npix_x,self.chip.npix_y), "comment":"Data section"},
# {"name":"CCDSUM", "value":self.chip.npix_x*self.chip.npix_y, "comment":"CCD pixel summing"},
# {"name":"NSUM", "value":self.chip.npix_x*self.chip.npix_y, "comment":"CCD pixel summing"},
# {"name":"AUTHOR", "value":"CSST-Sim Group"},
# {"name":"GROUP", "value":"Weak Lensing Working Group for CSST"}]
# for item in hdrNew:
# hdr.add_record(item)
# return hdr
# def cat_add_obj(self, obj, pos_img, snr, pos_shear, g1, g2):
def cat_add_obj(self, obj, pos_img, pos_shear): def cat_add_obj(self, obj, pos_img, pos_shear):
ximg = pos_img.x - self.chip.bound.xmin + 1.0 ximg = pos_img.x - self.chip.bound.xmin + 1.0
yimg = pos_img.y - self.chip.bound.ymin + 1.0 yimg = pos_img.y - self.chip.bound.ymin + 1.0
# if obj.type == 'galaxy':
# line = self.fmt%(obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z, obj.getMagFilter(self.filt), obj.param["star"], obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge,
# obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge,
# pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, obj.sed_type, obj.param['av'], obj.param['redden'], 'n', 0, 0, 0)
# elif obj.type == "quasar":
# line = self.fmt % (obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z,
# obj.getMagFilter(self.filt), obj.param["star"], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
# pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, obj.sed_type, obj.param['av'], obj.param['redden'], 'n', 0.0, 0.0, 0.0)
# else:
# line = self.fmt%(obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.z, obj.getMagFilter(self.filt), obj.param["star"], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
# pos_shear.g1, pos_shear.g2, e1, e2, g1, g2, e1OBS, e2OBS, 0, 0.0, 0.0, obj.param['model_tag'], obj.param['teff'], obj.param['logg'],obj.param['feh'])
# print(
# obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type,
# obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge, obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge, obj.g1, obj.g2,
# obj.sed_type, obj.av, obj.redden,
# obj.pmra, obj.pmdec, obj.rv, obj.parallax)
line = self.fmt%( line = self.fmt%(
obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type, obj.id, int(self.chipLabel), self.filt.filter_type, ximg, yimg, obj.ra, obj.dec, obj.ra_orig, obj.dec_orig, obj.z, obj.getMagFilter(self.filt), obj.type,
obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge, obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge, obj.g1, obj.g2, obj.thetaR, obj.bfrac, obj.hlr_disk, obj.hlr_bulge, obj.e1_disk, obj.e2_disk, obj.e1_bulge, obj.e2_bulge, obj.g1, obj.g2,
obj.sed_type, obj.av, obj.redden, obj.sed_type, obj.av, obj.redden,
obj.pmra, obj.pmdec, obj.rv, obj.parallax) obj.pmra, obj.pmdec, obj.rv, obj.parallax)
line += obj.additional_output_str
if not line.endswith("\n"):
line += "\n"
self.cat.write(line) self.cat.write(line)
...@@ -21,7 +21,9 @@ def config_dir(config, work_dir=None, data_dir=None): ...@@ -21,7 +21,9 @@ def config_dir(config, work_dir=None, data_dir=None):
# Object catalog direcotry # Object catalog direcotry
path_dict["cat_dir"] = os.path.join(path_dict["data_dir"], config["input_path"]["cat_dir"]) path_dict["cat_dir"] = os.path.join(path_dict["data_dir"], config["input_path"]["cat_dir"])
# PSF data directory # PSF data directory
if config["psf_setting"]["psf_model"] == "Interp":
path_dict["psf_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_dir"]) path_dict["psf_dir"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["psf_dir"])
if config["ins_effects"]["field_dist"] == True:
path_dict["fd_path"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["fd_path"]) path_dict["fd_path"] = os.path.join(path_dict["data_dir"], config["psf_setting"]["fd_path"])
return path_dict return path_dict
......
...@@ -440,11 +440,14 @@ class Chip(FocalPlane): ...@@ -440,11 +440,14 @@ class Chip(FocalPlane):
self.logger.info(" Adding Bias level and 16-channel non-uniformity") self.logger.info(" Adding Bias level and 16-channel non-uniformity")
else: else:
print(" Adding Bias level and 16-channel non-uniformity") print(" Adding Bias level and 16-channel non-uniformity")
if config["ins_effects"]["bias_16channel"] == True:
img = effects.AddBiasNonUniform16(img, img = effects.AddBiasNonUniform16(img,
bias_level=float(config["ins_effects"]["bias_level"]), bias_level=float(config["ins_effects"]["bias_level"]),
nsecy = 2, nsecx=8, nsecy = 2, nsecx=8,
seed=SeedBiasNonuni+self.chipID, seed=SeedBiasNonuni+self.chipID,
logger=self.logger) logger=self.logger)
elif config["ins_effects"]["bias_16channel"] == False:
img += self.bias_level
# Apply Nonlinearity on the chip image # Apply Nonlinearity on the chip image
if config["ins_effects"]["non_linear"] == True: if config["ins_effects"]["non_linear"] == True:
...@@ -477,17 +480,20 @@ class Chip(FocalPlane): ...@@ -477,17 +480,20 @@ class Chip(FocalPlane):
readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise) readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
img.addNoise(readout_noise) img.addNoise(readout_noise)
# Apply Gain & Quantization # Apply Gain & Quantization
if self.logger is not None: if self.logger is not None:
self.logger.info(" Applying Gain (and 16 channel non-uniformity) & Quantization") self.logger.info(" Applying Gain (and 16 channel non-uniformity) & Quantization")
else: else:
print(" Applying Gain (and 16 channel non-uniformity) & Quantization", flush=True) print(" Applying Gain (and 16 channel non-uniformity) & Quantization", flush=True)
if config["ins_effects"]["gain_16channel"] == True:
img = effects.ApplyGainNonUniform16( img = effects.ApplyGainNonUniform16(
img, gain=self.gain, img, gain=self.gain,
nsecy = 2, nsecx=8, nsecy = 2, nsecx=8,
seed=SeedGainNonuni+self.chipID, seed=SeedGainNonuni+self.chipID,
logger=self.logger) logger=self.logger)
elif config["ins_effects"]["gain_16channel"] == False:
img /= self.gain
img.array[img.array > 65535] = 65535 img.array[img.array > 65535] = 65535
img.replaceNegative(replace_value=0) img.replaceNegative(replace_value=0)
img.quantize() img.quantize()
...@@ -509,6 +515,7 @@ class Chip(FocalPlane): ...@@ -509,6 +515,7 @@ class Chip(FocalPlane):
ncombine=1, read_noise=self.read_noise, gain=1, ncombine=1, read_noise=self.read_noise, gain=1,
seed=SeedBiasNonuni+self.chipID, seed=SeedBiasNonuni+self.chipID,
logger=self.logger) logger=self.logger)
# Readout noise for Biases is not generated with random seeds. So readout noise for bias images can't be reproduced.
if config["ins_effects"]["cosmic_ray"] == True: if config["ins_effects"]["cosmic_ray"] == True:
if config["ins_effects"]["cray_differ"] == True: if config["ins_effects"]["cray_differ"] == True:
cr_map, cr_event_num = effects.produceCR_Map( cr_map, cr_event_num = effects.produceCR_Map(
...@@ -636,7 +643,7 @@ class Chip(FocalPlane): ...@@ -636,7 +643,7 @@ class Chip(FocalPlane):
# Add Read-out Noise # Add Read-out Noise
if config["ins_effects"]["add_readout"] == True: if config["ins_effects"]["add_readout"] == True:
seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID + 3
rng_readout = galsim.BaseDeviate(seed) rng_readout = galsim.BaseDeviate(seed)
readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise) readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
FlatCombImg.addNoise(readout_noise) FlatCombImg.addNoise(readout_noise)
...@@ -758,7 +765,7 @@ class Chip(FocalPlane): ...@@ -758,7 +765,7 @@ class Chip(FocalPlane):
# Add Read-out Noise # Add Read-out Noise
if config["ins_effects"]["add_readout"] == True: if config["ins_effects"]["add_readout"] == True:
seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID seed = int(config["random_seeds"]["seed_readout"]) + pointing_ID*30 + self.chipID + 2
rng_readout = galsim.BaseDeviate(seed) rng_readout = galsim.BaseDeviate(seed)
readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise) readout_noise = galsim.GaussianNoise(rng=rng_readout, sigma=self.read_noise)
DarkCombImg.addNoise(readout_noise) DarkCombImg.addNoise(readout_noise)
......
...@@ -197,7 +197,7 @@ def MakeFlatSmooth(GSBounds, seed): ...@@ -197,7 +197,7 @@ def MakeFlatSmooth(GSBounds, seed):
Flty, Fltx = np.mgrid[ymin:(ymax+1), xmin:(xmax+1)] Flty, Fltx = np.mgrid[ymin:(ymax+1), xmin:(xmax+1)]
rg = Generator(PCG64(int(seed))) rg = Generator(PCG64(int(seed)))
p1,p2,bg=rg.poisson(1000, 3) p1,p2,bg=rg.poisson(1000, 3)
Fltz = 1e-6*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20 Fltz = 0.6*1e-7*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20
FlatImg = galsim.ImageF(Fltz) FlatImg = galsim.ImageF(Fltz)
return FlatImg return FlatImg
......
...@@ -40,8 +40,8 @@ class Filter(object): ...@@ -40,8 +40,8 @@ class Filter(object):
# self.filter_dir = filter_param.filter_dir # self.filter_dir = filter_param.filter_dir
def is_too_bright(self, mag): def is_too_bright(self, mag):
# return mag <= self.mag_saturation - 1.0 return mag <= self.mag_saturation - 2.5
return mag <= 14.0 # return mag <= 14.0
def is_too_dim(self, mag): def is_too_dim(self, mag):
return mag >= self.mag_limiting + 1.0 return mag >= self.mag_limiting + 1.0
...@@ -100,6 +100,8 @@ class Filter(object): ...@@ -100,6 +100,8 @@ class Filter(object):
return self.sky_background * exptime / gain return self.sky_background * exptime / gain
def update_limit_saturation_mags(self, exptime=150., psf_fwhm=0.1969, skyFn='sky_emiss_hubble_50_50_A.dat', chip=None): def update_limit_saturation_mags(self, exptime=150., psf_fwhm=0.1969, skyFn='sky_emiss_hubble_50_50_A.dat', chip=None):
if self.filter_type in ["GI", "GV", "GU"]:
return
if chip is not None: if chip is not None:
pix_scale = chip.pix_scale pix_scale = chip.pix_scale
read_noise = chip.read_noise read_noise = chip.read_noise
......
...@@ -99,7 +99,7 @@ def calculateLimitMag(aperture = 2.0, psf_fwhm = 0.1969,pixelSize = 0.074, pmRat ...@@ -99,7 +99,7 @@ def calculateLimitMag(aperture = 2.0, psf_fwhm = 0.1969,pixelSize = 0.074, pmRat
yp, xp = np.mgrid[0:m_size, 0:m_size] yp, xp = np.mgrid[0:m_size, 0:m_size]
psfMap = gaussShape(xp, yp) psfMap = gaussShape(xp, yp)
maxRatio = np.amax(psfMap)/np.sum(psfMap) maxRatio = np.amax(psfMap)/np.sum(psfMap)
print(maxRatio) # print(maxRatio)
flux_sat = fw/maxRatio*exNum flux_sat = fw/maxRatio*exNum
satMag = -2.5*log10(flux_sat/(54799275581.04437 * trapz(wavey*eff[:,1]/wave,wave, 0.1)*exTime*exNum*pi*(aperture/2)*(aperture/2))); satMag = -2.5*log10(flux_sat/(54799275581.04437 * trapz(wavey*eff[:,1]/wave,wave, 0.1)*exTime*exNum*pi*(aperture/2)*(aperture/2)));
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 2.164489607366864 0.00015356245807983922 -3.436363301868159e-05 -1.870489414179214e-08 3.4169903432371594e-09 1.329160668259838e-08 DYDX_C_0 2.164489607366864 0.00015356245807983922 -3.436363301868159e-05 -1.870489414179214e-08 3.4169903432371594e-09 1.329160668259838e-08
DYDX_A_1 -0.01025662163204071 2.563555771056362e-07 -3.8339712168522614e-07 -3.0921572651851273e-12 -2.782385864095027e-12 -1.2927405756300694e-11 DYDX_C_1 -0.01025662163204071 2.563555771056362e-07 -3.8339712168522614e-07 -3.0921572651851273e-12 -2.782385864095027e-12 -1.2927405756300694e-11
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 6.575586074514935 0.00017715365529036883 0.0005455451137842477 -1.9613440745741114e-08 -9.227386593836169e-09 -4.188087036184667e-09 DYDX_D_0 6.575586074514935 0.00017715365529036883 0.0005455451137842477 -1.9613440745741114e-08 -9.227386593836169e-09 -4.188087036184667e-09
DYDX_A_1 0.0036275858789754415 -2.6482112732759975e-08 2.5593462628528386e-07 6.463563645069831e-12 4.03172098429654e-12 -3.917214235864082e-12 DYDX_D_1 0.0036275858789754415 -2.6482112732759975e-08 2.5593462628528386e-07 6.463563645069831e-12 4.03172098429654e-12 -3.917214235864082e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 7.647178915824622 -0.00014153778353717477 0.0006585912409573279 1.1451647036969672e-08 -2.2503331458372405e-08 -5.97673441914924e-10 DYDX_E_0 7.647178915824622 -0.00014153778353717477 0.0006585912409573279 1.1451647036969672e-08 -2.2503331458372405e-08 -5.97673441914924e-10
DYDX_A_1 -0.013388600612320525 3.4987613986258344e-07 -8.934574682539956e-07 -2.1629798251888717e-11 1.1573035017917812e-11 1.4777345392719905e-12 DYDX_E_1 -0.013388600612320525 3.4987613986258344e-07 -8.934574682539956e-07 -2.1629798251888717e-11 1.1573035017917812e-11 1.4777345392719905e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 1.6274259827507076 -0.00034821339283356466 0.0002392999867887435 1.5635809977657976e-07 -7.514174027001749e-09 -6.566395011125117e-09 DYDX_C_0 1.6274259827507076 -0.00034821339283356466 0.0002392999867887435 1.5635809977657976e-07 -7.514174027001749e-09 -6.566395011125117e-09
DYDX_A_1 -5.3689415286860876e-05 -1.912489940030657e-07 -1.070383333548475e-08 1.53386647062175e-10 -1.1208241918489809e-11 3.406912464353884e-12 DYDX_C_1 -5.3689415286860876e-05 -1.912489940030657e-07 -1.070383333548475e-08 1.53386647062175e-10 -1.1208241918489809e-11 3.406912464353884e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 6.882799280484086 -0.00027753891131284954 0.0004922039820404395 3.082997123523641e-08 -9.49966186877231e-09 -2.3656818322711693e-09 DYDX_D_0 6.882799280484086 -0.00027753891131284954 0.0004922039820404395 3.082997123523641e-08 -9.49966186877231e-09 -2.3656818322711693e-09
DYDX_A_1 -0.011947813534498112 4.093696016714032e-08 -7.435107573317389e-07 2.5528541317977112e-12 3.192792142602198e-12 -2.453919520892182e-12 DYDX_D_1 -0.011947813534498112 4.093696016714032e-08 -7.435107573317389e-07 2.5528541317977112e-12 3.192792142602198e-12 -2.453919520892182e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 7.677233822131253 -0.00048041060058740204 0.0004956385735024366 6.868585247565035e-08 -9.175237278696478e-09 1.2566962458208905e-09 DYDX_E_0 7.677233822131253 -0.00048041060058740204 0.0004956385735024366 6.868585247565035e-08 -9.175237278696478e-09 1.2566962458208905e-09
DYDX_A_1 0.003983370254635055 -1.232787560255339e-08 2.1234388976109016e-07 1.6204618268328708e-11 3.983819645370279e-12 4.263520014579825e-12 DYDX_E_1 0.003983370254635055 -1.232787560255339e-08 2.1234388976109016e-07 1.6204618268328708e-11 3.983819645370279e-12 4.263520014579825e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 4.4793311976875065 -0.0007086900045398478 0.00011182473491208784 4.7164973849785044e-08 3.838133586023918e-09 -4.20736855305813e-09 DYDX_C_0 4.4793311976875065 -0.0007086900045398478 0.00011182473491208784 4.7164973849785044e-08 3.838133586023918e-09 -4.20736855305813e-09
DYDX_A_1 -0.009955230104200801 5.494138645881217e-07 -5.71634189603669e-07 -2.919798057644714e-11 1.4502406606426133e-11 -2.075548579200935e-12 DYDX_C_1 -0.009955230104200801 5.494138645881217e-07 -5.71634189603669e-07 -2.919798057644714e-11 1.4502406606426133e-11 -2.075548579200935e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 8.08810918775784 -0.0003160383656201733 0.00032117137940834755 1.7411054368514052e-08 1.661691957794701e-08 -7.331801211925892e-10 DYDX_D_0 8.08810918775784 -0.0003160383656201733 0.00032117137940834755 1.7411054368514052e-08 1.661691957794701e-08 -7.331801211925892e-10
DYDX_A_1 0.004037692561048198 9.260581777483333e-08 2.0948104952770805e-07 -1.3666211810764903e-12 9.22151128823822e-12 3.56053004729388e-12 DYDX_D_1 0.004037692561048198 9.260581777483333e-08 2.0948104952770805e-07 -1.3666211810764903e-12 9.22151128823822e-12 3.56053004729388e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 9.62422536352037 -0.0007513346376027576 0.00047559530073159164 5.269556788714742e-08 7.1730007979798225e-09 -6.677835198312419e-09 DYDX_E_0 9.62422536352037 -0.0007513346376027576 0.00047559530073159164 5.269556788714742e-08 7.1730007979798225e-09 -6.677835198312419e-09
DYDX_A_1 -0.012614129322424207 3.0685483155242454e-07 -8.080248472425367e-07 -1.675839114053055e-11 6.28724942761309e-12 1.830554524540624e-12 DYDX_E_1 -0.012614129322424207 3.0685483155242454e-07 -8.080248472425367e-07 -1.675839114053055e-11 6.28724942761309e-12 1.830554524540624e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 2.077313161445304 0.000980949024127796 0.00021283436080014677 -2.6874752294266443e-07 1.2116296272703047e-08 -2.34247574816342e-08 DYDX_C_0 2.077313161445304 0.000980949024127796 0.00021283436080014677 -2.6874752294266443e-07 1.2116296272703047e-08 -2.34247574816342e-08
DYDX_A_1 0.0006570356116067526 1.2290395976811375e-06 1.6637183470133416e-07 -3.0304924532261765e-10 2.4734040679617618e-11 -2.3590221649145147e-11 DYDX_C_1 0.0006570356116067526 1.2290395976811375e-06 1.6637183470133416e-07 -3.0304924532261765e-10 2.4734040679617618e-11 -2.3590221649145147e-11
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 6.774750256151258 4.707107703698734e-05 0.000503719215056276 -9.167623136460398e-09 -4.152231401897418e-08 -9.419809130154712e-09 DYDX_D_0 6.774750256151258 4.707107703698734e-05 0.000503719215056276 -9.167623136460398e-09 -4.152231401897418e-08 -9.419809130154712e-09
DYDX_A_1 -0.011168343549873953 2.6666977679877337e-08 -7.470831119863737e-07 -6.286511915787003e-12 1.6439841503101933e-11 2.596573361763681e-12 DYDX_D_1 -0.011168343549873953 2.6666977679877337e-08 -7.470831119863737e-07 -6.286511915787003e-12 1.6439841503101933e-11 2.596573361763681e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 7.575427899521311 -0.00021618386157363904 0.0005591063261388894 7.342842947533113e-09 -1.7485023350712322e-08 -1.0377783468068108e-08 DYDX_E_0 7.575427899521311 -0.00021618386157363904 0.0005591063261388894 7.342842947533113e-09 -1.7485023350712322e-08 -1.0377783468068108e-08
DYDX_A_1 0.004683960947904331 -1.888624610879838e-08 3.2884821904527606e-07 1.018984346983241e-11 5.168946855257885e-12 -2.043053548121042e-12 DYDX_E_1 0.004683960947904331 -1.888624610879838e-08 3.2884821904527606e-07 1.018984346983241e-11 5.168946855257885e-12 -2.043053548121042e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 -0.6190375093057178 -0.000819084818469411 0.00028964716536233805 6.270789289859524e-08 -1.420775464725658e-08 -9.328521975988917e-09 DYDX_C_0 -0.6190375093057178 -0.000819084818469411 0.00028964716536233805 6.270789289859524e-08 -1.420775464725658e-08 -9.328521975988917e-09
DYDX_A_1 0.008680162051601499 3.330054831581405e-07 -6.469221396130517e-07 -3.9523801242915675e-11 2.810706046076844e-11 9.755545191838492e-12 DYDX_C_1 0.008680162051601499 3.330054831581405e-07 -6.469221396130517e-07 -3.9523801242915675e-11 2.810706046076844e-11 9.755545191838492e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 -7.508248370511439 -0.0006714401608233293 0.00017558009908350287 2.984240425469985e-08 4.3819705023343136e-08 -5.025346537840718e-09 DYDX_D_0 -7.508248370511439 -0.0006714401608233293 0.00017558009908350287 2.984240425469985e-08 4.3819705023343136e-08 -5.025346537840718e-09
DYDX_A_1 -0.009040738692611343 -2.842628508976022e-07 2.8610552097167497e-07 2.0072941233633973e-12 2.6743473726716594e-11 -1.990153449263359e-12 DYDX_D_1 -0.009040738692611343 -2.842628508976022e-07 2.8610552097167497e-07 2.0072941233633973e-12 2.6743473726716594e-11 -1.990153449263359e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 -8.842745665545023 -0.0007610512902166516 0.0003383458198829188 5.974061158162743e-08 1.0142609417116612e-08 1.2101422641494325e-09 DYDX_E_0 -8.842745665545023 -0.0007610512902166516 0.0003383458198829188 5.974061158162743e-08 1.0142609417116612e-08 1.2101422641494325e-09
DYDX_A_1 0.015397941297630027 2.693607213384038e-08 -6.075147917008666e-07 -1.6037105086389434e-11 4.296881158063552e-12 -1.2228485054031964e-12 DYDX_E_1 0.015397941297630027 2.693607213384038e-08 -6.075147917008666e-07 -1.6037105086389434e-11 4.296881158063552e-12 -1.2228485054031964e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 -3.644711332713124 0.0008001860385266981 9.479324761591071e-05 -1.743740644543708e-07 3.6478784815791542e-09 6.917592947848256e-09 DYDX_C_0 -3.644711332713124 0.0008001860385266981 9.479324761591071e-05 -1.743740644543708e-07 3.6478784815791542e-09 6.917592947848256e-09
DYDX_A_1 -0.005127657192091357 3.406797050005203e-07 1.6449903475316612e-07 -9.485982506821913e-11 -4.3771960897499225e-12 8.550685815444732e-12 DYDX_C_1 -0.005127657192091357 3.406797050005203e-07 1.6449903475316612e-07 -9.485982506821913e-11 -4.3771960897499225e-12 8.550685815444732e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 -11.173576155920372 0.0007519533830363816 0.0004253768680462055 -1.5201878553469454e-07 2.0472547690216743e-08 -2.0569213743460413e-09 DYDX_D_0 -11.173576155920372 0.0007519533830363816 0.0004253768680462055 -1.5201878553469454e-07 2.0472547690216743e-08 -2.0569213743460413e-09
DYDX_A_1 0.014593603600807335 -2.5136860755841604e-07 -5.949998376910171e-07 3.678337259167903e-11 -3.0972180049312983e-12 1.6165162111383372e-12 DYDX_D_1 0.014593603600807335 -2.5136860755841604e-07 -5.949998376910171e-07 3.678337259167903e-11 -3.0972180049312983e-12 1.6165162111383372e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 -12.213462520279169 0.00047910742870929717 0.0005408610935256049 -7.413930918915843e-08 -8.606042861984915e-09 -2.657692925463347e-09 DYDX_E_0 -12.213462520279169 0.00047910742870929717 0.0005408610935256049 -7.413930918915843e-08 -8.606042861984915e-09 -2.657692925463347e-09
DYDX_A_1 -0.011203612261385857 -1.0569751604742679e-07 4.877450459862202e-07 4.101880695762023e-12 -2.7701720429242062e-12 -1.1821036616778763e-12 DYDX_E_1 -0.011203612261385857 -1.0569751604742679e-07 4.877450459862202e-07 4.101880695762023e-12 -2.7701720429242062e-12 -1.1821036616778763e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 -2.500141585167653 -1.969888743137498e-05 -3.719251228351035e-05 2.2450041893993265e-09 -4.776577101251428e-09 1.3199727484804396e-08 DYDX_C_0 -2.500141585167653 -1.969888743137498e-05 -3.719251228351035e-05 2.2450041893993265e-09 -4.776577101251428e-09 1.3199727484804396e-08
DYDX_A_1 0.009108519277662467 -3.0705408681783576e-07 -3.132719515155802e-07 6.422536264194293e-12 1.5326983931450917e-11 -5.645216688436237e-12 DYDX_C_1 0.009108519277662467 -3.0705408681783576e-07 -3.132719515155802e-07 6.422536264194293e-12 1.5326983931450917e-11 -5.645216688436237e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 -9.389297829853636 -0.00015464197650568576 0.0002660281765192433 3.4852623322772082e-09 9.484803976320427e-09 7.336382512941422e-09 DYDX_D_0 -9.389297829853636 -0.00015464197650568576 0.0002660281765192433 3.4852623322772082e-09 9.484803976320427e-09 7.336382512941422e-09
DYDX_A_1 -0.01112945128342416 -1.1311863974473163e-07 4.218220828671425e-07 -1.2516252053776076e-12 9.161770824233885e-12 -1.4981685450709086e-14 DYDX_D_1 -0.01112945128342416 -1.1311863974473163e-07 4.218220828671425e-07 -1.2516252053776076e-12 9.161770824233885e-12 -1.4981685450709086e-14
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 -12.07564081561785 0.0003538313487376174 0.0003424445292518675 -2.8281829213173136e-08 -1.9103125073139345e-09 1.3342745843474139e-08 DYDX_E_0 -12.07564081561785 0.0003538313487376174 0.0003424445292518675 -2.8281829213173136e-08 -1.9103125073139345e-09 1.3342745843474139e-08
DYDX_A_1 0.015623821782753402 -3.872409697306194e-07 -5.946762100158761e-07 1.4986070563264542e-11 8.421611722722356e-12 -3.1933488456130784e-12 DYDX_E_1 0.015623821782753402 -3.872409697306194e-07 -5.946762100158761e-07 1.4986070563264542e-11 8.421611722722356e-12 -3.1933488456130784e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
...@@ -62,7 +62,7 @@ MMAG_MARK_C 30 ...@@ -62,7 +62,7 @@ MMAG_MARK_C 30
# #
DYDX_ORDER_C 1 DYDX_ORDER_C 1
DYDX_C_0 -2.966407573122309 0.00017931467145883436 -1.1937327382141583e-05 -3.430114664968074e-08 -1.7104028303486308e-11 1.0768834553932357e-08 DYDX_C_0 -2.966407573122309 0.00017931467145883436 -1.1937327382141583e-05 -3.430114664968074e-08 -1.7104028303486308e-11 1.0768834553932357e-08
DYDX_A_1 -0.005803626340330835 -4.170068439771959e-08 1.290433938281288e-07 -2.8134994496798826e-11 3.815680617576105e-12 7.512242155559056e-12 DYDX_C_1 -0.005803626340330835 -4.170068439771959e-08 1.290433938281288e-07 -2.8134994496798826e-11 3.815680617576105e-12 7.512242155559056e-12
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -88,7 +88,7 @@ MMAG_MARK_D 30 ...@@ -88,7 +88,7 @@ MMAG_MARK_D 30
# #
DYDX_ORDER_D 1 DYDX_ORDER_D 1
DYDX_D_0 -10.924673575089688 0.00016185988743270996 0.00046683827051840587 8.136189930172963e-09 -1.1869040578509591e-08 -6.414416857587861e-10 DYDX_D_0 -10.924673575089688 0.00016185988743270996 0.00046683827051840587 8.136189930172963e-09 -1.1869040578509591e-08 -6.414416857587861e-10
DYDX_A_1 0.013421122504499828 -8.139117646528983e-08 -5.636862104195129e-07 -7.650480709282686e-12 8.277703707581925e-12 9.22249281275454e-13 DYDX_D_1 0.013421122504499828 -8.139117646528983e-08 -5.636862104195129e-07 -7.650480709282686e-12 8.277703707581925e-12 9.22249281275454e-13
# #
# X and Y Offsets # X and Y Offsets
# #
...@@ -114,7 +114,7 @@ MMAG_MARK_E 30 ...@@ -114,7 +114,7 @@ MMAG_MARK_E 30
# #
DYDX_ORDER_E 1 DYDX_ORDER_E 1
DYDX_E_0 -11.846585635638787 0.0002775660851037459 0.0005294313159274511 -2.2581643082700262e-08 -1.0333470137987452e-08 -6.219484318552529e-09 DYDX_E_0 -11.846585635638787 0.0002775660851037459 0.0005294313159274511 -2.2581643082700262e-08 -1.0333470137987452e-08 -6.219484318552529e-09
DYDX_A_1 -0.012336624365849553 -8.074439040178428e-08 5.451023075403868e-07 -5.4380660096969335e-12 -1.2614361480717028e-13 -4.742212399798437e-12 DYDX_E_1 -0.012336624365849553 -8.074439040178428e-08 5.451023075403868e-07 -5.4380660096969335e-12 -1.2614361480717028e-13 -4.742212399798437e-12
# #
# X and Y Offsets # X and Y Offsets
# #
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment