Loading catalog/C10_Catalog.py +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ class Catalog(CatalogBase): param['diskmass'] = gals['diskmass'][igals] np.random.seed(int(pix_id)+cat_id+igals) param['size'] = (gals['size'][igals] * ((1.+gals['redshift'][igals])**(0.4))) * np.random.uniform(0.7, 1.3) param['size'] = (gals['size'][igals] * (1.+gals['redshift'][igals])) * np.random.uniform(0.7, 1.3) if param['size'] > self.max_size: self.max_size = param['size'] Loading catalog/C9_Catalog.py +2 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,8 @@ class Catalog(CatalogBase): param['bulgemass'] = gals['bulgemass'][igals] param['diskmass'] = gals['diskmass'][igals] param['size'] = gals['size'][igals] np.random.seed(int(pix_id)+cat_id+igals) param['size'] = (gals['size'][igals] * (1.+gals['redshift'][igals])) * np.random.uniform(0.7, 1.3) if param['size'] > self.max_size: self.max_size = param['size'] Loading requirements.txt +2 −2 Original line number Diff line number Diff line numpy==1.26.4 astropy==6.0.1 scipy==1.11.4 GalSim==2.5.2 GalSim==2.5.3 PyYAML==6.0.1 sep==1.2.1 healpy==1.16.6 Loading tools/plan_json_to_pointing.py 0 → 100644 +75 −0 Original line number Diff line number Diff line import argparse import json import math from pathlib import Path def _get_nested(d, path, default=math.nan): cur = d for k in path: if not isinstance(cur, dict) or k not in cur: return default cur = cur[k] return cur def plan_json_to_pointing_text(json_path, out_path): json_path = Path(json_path) with json_path.open("r", encoding="utf-8") as f: data = json.load(f) if isinstance(data, dict) and "data" in data: data = data["data"] if not isinstance(data, list): raise TypeError( f"Unsupported JSON top-level type: {type(data).__name__}") header = ( "# ra dec lon(ecliptic) lat(ecliptic) pos_angle time(julian) sat_x sat_y sat_z " "sun_x sun_y sun_z moon_x moon_y moon_z sat_vx sat_vy sat_vz exp_time " "isDeep obs_config id\n" ) columns = [ ("ra", ("simresult", "ra")), ("dec", ("simresult", "dec")), ("lon(ecliptic)", ("simresult", "lambda")), ("lat(ecliptic)", ("simresult", "beta")), ("pos_angle", ("params", "pa_obj")), ("time(julian)", ("simresult", "jd")), ("sat_x", ("simresult", "sat_x")), ("sat_y", ("simresult", "sat_y")), ("sat_z", ("simresult", "sat_z")), ("sun_x", ("simresult", "sun_x")), ("sun_y", ("simresult", "sun_y")), ("sun_z", ("simresult", "sun_z")), ("moon_x", ("simresult", "moon_x")), ("moon_y", ("simresult", "moon_y")), ("moon_z", ("simresult", "moon_z")), ("sat_vx", ("simresult", "sat_vx")), ("sat_vy", ("simresult", "sat_vy")), ("sat_vz", ("simresult", "sat_vz")), ("exp_time", ("exptime",)), ("isDeep", ("simresult", "sky_type")), ("obs_config", None), ("id", ("obs_id",)), ] out_path = Path(out_path) with out_path.open("w", encoding="utf-8") as f: f.write(header) for item in data: values = [] for _, path in columns: if path is None: values.append("null") else: values.append(_get_nested(item, path)) f.write(" ".join(map(str, values)) + "\n") if __name__ == "__main__": jsonFn = "test_2461876_1_plan.json" outFn = "pointing_test.dat" plan_json_to_pointing_text(jsonFn, outFn) Loading
catalog/C10_Catalog.py +1 −1 Original line number Diff line number Diff line Loading @@ -312,7 +312,7 @@ class Catalog(CatalogBase): param['diskmass'] = gals['diskmass'][igals] np.random.seed(int(pix_id)+cat_id+igals) param['size'] = (gals['size'][igals] * ((1.+gals['redshift'][igals])**(0.4))) * np.random.uniform(0.7, 1.3) param['size'] = (gals['size'][igals] * (1.+gals['redshift'][igals])) * np.random.uniform(0.7, 1.3) if param['size'] > self.max_size: self.max_size = param['size'] Loading
catalog/C9_Catalog.py +2 −1 Original line number Diff line number Diff line Loading @@ -323,7 +323,8 @@ class Catalog(CatalogBase): param['bulgemass'] = gals['bulgemass'][igals] param['diskmass'] = gals['diskmass'][igals] param['size'] = gals['size'][igals] np.random.seed(int(pix_id)+cat_id+igals) param['size'] = (gals['size'][igals] * (1.+gals['redshift'][igals])) * np.random.uniform(0.7, 1.3) if param['size'] > self.max_size: self.max_size = param['size'] Loading
requirements.txt +2 −2 Original line number Diff line number Diff line numpy==1.26.4 astropy==6.0.1 scipy==1.11.4 GalSim==2.5.2 GalSim==2.5.3 PyYAML==6.0.1 sep==1.2.1 healpy==1.16.6 Loading
tools/plan_json_to_pointing.py 0 → 100644 +75 −0 Original line number Diff line number Diff line import argparse import json import math from pathlib import Path def _get_nested(d, path, default=math.nan): cur = d for k in path: if not isinstance(cur, dict) or k not in cur: return default cur = cur[k] return cur def plan_json_to_pointing_text(json_path, out_path): json_path = Path(json_path) with json_path.open("r", encoding="utf-8") as f: data = json.load(f) if isinstance(data, dict) and "data" in data: data = data["data"] if not isinstance(data, list): raise TypeError( f"Unsupported JSON top-level type: {type(data).__name__}") header = ( "# ra dec lon(ecliptic) lat(ecliptic) pos_angle time(julian) sat_x sat_y sat_z " "sun_x sun_y sun_z moon_x moon_y moon_z sat_vx sat_vy sat_vz exp_time " "isDeep obs_config id\n" ) columns = [ ("ra", ("simresult", "ra")), ("dec", ("simresult", "dec")), ("lon(ecliptic)", ("simresult", "lambda")), ("lat(ecliptic)", ("simresult", "beta")), ("pos_angle", ("params", "pa_obj")), ("time(julian)", ("simresult", "jd")), ("sat_x", ("simresult", "sat_x")), ("sat_y", ("simresult", "sat_y")), ("sat_z", ("simresult", "sat_z")), ("sun_x", ("simresult", "sun_x")), ("sun_y", ("simresult", "sun_y")), ("sun_z", ("simresult", "sun_z")), ("moon_x", ("simresult", "moon_x")), ("moon_y", ("simresult", "moon_y")), ("moon_z", ("simresult", "moon_z")), ("sat_vx", ("simresult", "sat_vx")), ("sat_vy", ("simresult", "sat_vy")), ("sat_vz", ("simresult", "sat_vz")), ("exp_time", ("exptime",)), ("isDeep", ("simresult", "sky_type")), ("obs_config", None), ("id", ("obs_id",)), ] out_path = Path(out_path) with out_path.open("w", encoding="utf-8") as f: f.write(header) for item in data: values = [] for _, path in columns: if path is None: values.append("null") else: values.append(_get_nested(item, path)) f.write(" ".join(map(str, values)) + "\n") if __name__ == "__main__": jsonFn = "test_2461876_1_plan.json" outFn = "pointing_test.dat" plan_json_to_pointing_text(jsonFn, outFn)