{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"name":"python","version":"3.10.14","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":[{"sourceId":70367,"databundleVersionId":9188054,"sourceType":"competition"},{"sourceId":202299006,"sourceType":"kernelVersion"}],"dockerImageVersionId":30786,"isInternetEnabled":true,"language":"python","sourceType":"notebook","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"import numpy as np, pandas as pd, matplotlib.pyplot as plt\nfrom tqdm import tqdm\nimport random\nfrom dataclasses import asdict\n\nfrom ariel_calib import *\n# train_planets, test_planets\n# CalibConfig\n# read_signal\n\n!ls {inpdir}\nprint(len(train_planets), len(test_planets))","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2024-10-20T13:57:32.600365Z","iopub.execute_input":"2024-10-20T13:57:32.601155Z","iopub.status.idle":"2024-10-20T13:57:33.702176Z","shell.execute_reply.started":"2024-10-20T13:57:32.601095Z","shell.execute_reply":"2024-10-20T13:57:33.70031Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"import os\nimport tqdm\nimport json\nfrom functools import partial\nfrom multiprocessing import Pool\n\n#train_planets = random.sample(train_planets, 10)\n\nfor time_binning in [20, 30, 40, 50]:\n    print(f\"time binning={time_binning}\")\n    conf = CalibConfig(time_binning=time_binning, dtype_str='np.float32')\n    \n    destdir = f'./train_{time_binning}'\n    os.makedirs(destdir, exist_ok=True)\n    \n    # save read_signal params\n    with open(f'{destdir}/calib-config.json', 'wt') as f:\n        json.dump(asdict(conf), f)\n    \n    def save_calib_signal(planet_id, destdir, conf):\n        airs_signal = read_signal(planet_id, sensor='airs', conf=conf)\n        fgs1_signal = read_signal(planet_id, sensor='fgs1', conf=conf)\n        np.savez(f'{destdir}/{planet_id}.npz', airs=airs_signal, fgs1=fgs1_signal)    \n    \n    with Pool() as pool:\n        f = partial(save_calib_signal, destdir=destdir, conf=conf)\n        for _ in tqdm.tqdm(pool.imap(f, train_planets), total=len(train_planets)):\n            pass","metadata":{"execution":{"iopub.status.busy":"2024-10-20T13:57:44.302259Z","iopub.execute_input":"2024-10-20T13:57:44.302773Z","iopub.status.idle":"2024-10-20T14:00:50.099146Z","shell.execute_reply.started":"2024-10-20T13:57:44.302699Z","shell.execute_reply":"2024-10-20T14:00:50.097749Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"!cp {inpdir}/*.csv .\n!zip -rmq 'ariel-2024-calibrated.zip' *.csv *.json train*\n!ls -lah","metadata":{"execution":{"iopub.status.busy":"2024-10-20T14:00:57.441288Z","iopub.execute_input":"2024-10-20T14:00:57.441811Z","iopub.status.idle":"2024-10-20T14:01:01.81075Z","shell.execute_reply.started":"2024-10-20T14:00:57.441759Z","shell.execute_reply":"2024-10-20T14:01:01.80913Z"},"trusted":true},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2024-10-20T14:01:53.438825Z","iopub.execute_input":"2024-10-20T14:01:53.439977Z","iopub.status.idle":"2024-10-20T14:01:54.507341Z","shell.execute_reply.started":"2024-10-20T14:01:53.439922Z","shell.execute_reply":"2024-10-20T14:01:54.505976Z"}},"outputs":[],"execution_count":null},{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":[],"execution_count":null}]}