From 19ddbb08ee09da91068f349b4fef6094e12b78be Mon Sep 17 00:00:00 2001 From: Shuai Feng <451424498@qq.com> Date: Sat, 26 Oct 2024 22:10:11 +0800 Subject: [PATCH] fit PEP8 bugs --- .idea/.gitignore | 8 + .idea/csst_ifs_gehong.iml | 8 + .../inspectionProfiles/profiles_settings.xml | 6 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + csst_ifs_gehong/config.py | 7 +- csst_ifs_gehong/cube3d.py | 68 ++--- .../Ech1.30Zm0.40T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.40T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm0.71T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.31T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm1.71T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zm2.32T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.00T17.7828_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.0631_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.0708_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.0794_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.0891_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1122_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1259_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1413_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1585_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1778_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.1995_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.2239_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.2512_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.2818_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.3162_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.3548_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.3981_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.4467_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.5012_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.5623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.6310_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.7079_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.7943_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T00.8913_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.1220_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.2589_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.4125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.5849_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.7783_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T01.9953_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T02.2387_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T02.5119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T02.8184_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T03.1623_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T03.5481_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T03.9811_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T04.4668_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T05.0119_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T05.6234_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T06.3096_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T07.0795_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T07.9433_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T08.9125_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T10.0000_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T11.2202_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T12.5893_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T14.1254_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T15.8489_iPp0.00_baseFe.fits | Bin .../Ech1.30Zp0.22T17.7828_iPp0.00_baseFe.fits | Bin csst_ifs_gehong/map2d.py | 153 +++++----- csst_ifs_gehong/spec1d.py | 281 +++++++++--------- .../test_cube3d.cpython-312-pytest-7.4.4.pyc | Bin 0 -> 4196 bytes .../test_map2d.cpython-312-pytest-7.4.4.pyc | Bin 0 -> 13113 bytes .../test_spec1d.cpython-312-pytest-7.4.4.pyc | Bin 0 -> 23836 bytes 362 files changed, 295 insertions(+), 250 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/csst_ifs_gehong.iml create mode 100644 .idea/inspectionProfiles/profiles_settings.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T17.7828_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0631_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0708_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0794_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0891_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1122_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1259_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1413_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1585_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1778_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1995_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2239_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2512_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2818_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3162_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3548_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3981_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.4467_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5012_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.6310_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7079_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7943_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.8913_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.1220_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.2589_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.4125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.5849_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.7783_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.9953_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.2387_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.5119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.8184_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.1623_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.5481_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.9811_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T04.4668_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.0119_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.6234_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T06.3096_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.0795_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.9433_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T08.9125_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T10.0000_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T11.2202_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T12.5893_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T14.1254_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T15.8489_iPp0.00_baseFe.fits mode change 100755 => 100644 csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T17.7828_iPp0.00_baseFe.fits create mode 100644 tests/__pycache__/test_cube3d.cpython-312-pytest-7.4.4.pyc create mode 100644 tests/__pycache__/test_map2d.cpython-312-pytest-7.4.4.pyc create mode 100644 tests/__pycache__/test_spec1d.cpython-312-pytest-7.4.4.pyc diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/csst_ifs_gehong.iml b/.idea/csst_ifs_gehong.iml new file mode 100644 index 0000000..d0876a7 --- /dev/null +++ b/.idea/csst_ifs_gehong.iml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..0a1d3bd --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/csst_ifs_gehong/config.py b/csst_ifs_gehong/config.py index bedef18..d5c0685 100644 --- a/csst_ifs_gehong/config.py +++ b/csst_ifs_gehong/config.py @@ -1,5 +1,6 @@ import numpy as np + class config(): """ The configuration of spectral modeling. The default value is used for ETC calculation. @@ -21,9 +22,9 @@ class config(): dpix : float, optional Pixel size in the spatial direction, by default 0.2arcsec """ - def __init__(self, wave_min = 3500.0, wave_max = 10000.0, - dlam = 2.0, inst_fwhm = 0.1, - nx = 30, ny = 30, dpix = 0.2): + def __init__(self, wave_min=3500.0, wave_max=10000.0, + dlam=2.0, inst_fwhm=0.1, + nx=30, ny=30, dpix=0.2): self.dlam = dlam self.wave = np.arange(wave_min, wave_max, dlam) self.wave_min = wave_min diff --git a/csst_ifs_gehong/cube3d.py b/csst_ifs_gehong/cube3d.py index 1a92edd..0bbf67b 100644 --- a/csst_ifs_gehong/cube3d.py +++ b/csst_ifs_gehong/cube3d.py @@ -1,52 +1,52 @@ -import astropy.units as u import numpy as np -from scipy.interpolate import interp1d -from .spec1d import * +from .spec1d import StellarContinuum, HII_Region import astropy.wcs +from astropy.io import fits + class Cube3D(): """ Class of 3-dimentional spectral cube """ - def __init__(self, config, stellar_map = None, gas_map = None): + def __init__(self, config, stellar_map=None, gas_map=None): - self.config= config + self.config = config - self.nx = config.nx - self.ny = config.ny - self.dpix = config.dpix + self.nx = config.nx + self.ny = config.ny + self.dpix = config.dpix self.fov_x = config.fov_x self.fov_y = config.fov_y - self.wave = config.wave - self.nz = len(self.wave) + self.wave = config.wave + self.nz = len(self.wave) self.wave0 = np.min(self.wave) self.inst_fwhm = config.inst_fwhm - self.flux = np.zeros((self.nx,self.ny,self.nz)) + self.flux = np.zeros((self.nx, self.ny, self.nz)) self.stellar_map = stellar_map - self.gas_map = gas_map + self.gas_map = gas_map - def make_cube(self, stellar_tem = None, hii_tem = None): + def make_cube(self, stellar_tem=None, hii_tem=None): for i in range(self.nx): for j in range(self.ny): if self.stellar_map is not None: - ss = StellarContinuum(self.config, stellar_tem, mag = self.stellar_map.mag[i,j], - age = self.stellar_map.age[i,j], feh = self.stellar_map.feh[i,j], - vel = self.stellar_map.vel[i,j], vdisp = self.stellar_map.vdisp[i,j], - ebv = self.stellar_map.ebv[i,j]) + ss = StellarContinuum(self.config, stellar_tem, mag=self.stellar_map.mag[i, j], + age=self.stellar_map.age[i, j], feh=self.stellar_map.feh[i, j], + vel=self.stellar_map.vel[i, j], vdisp=self.stellar_map.vdisp[i, j], + ebv=self.stellar_map.ebv[i, j]) if self.gas_map is not None: - gg = HII_Region(self.config, hii_tem, halpha = self.gas_map.halpha[i,j], - logz = self.gas_map.zh[i,j], vel = self.gas_map.vel[i,j], - vdisp = self.gas_map.vdisp[i,j], ebv = self.gas_map.ebv[i,j]) - self.flux[i,j,:] = ss.flux + gg.flux + gg = HII_Region(self.config, hii_tem, halpha=self.gas_map.halpha[i, j], + logz=self.gas_map.zh[i, j], vel=self.gas_map.vel[i, j], + vdisp=self.gas_map.vdisp[i, j], ebv=self.gas_map.ebv[i, j]) + self.flux[i, j, :] = ss.flux + gg.flux else: - self.flux[i,j,:] = ss.flux + self.flux[i, j, :] = ss.flux def wcs_info(self): - wcs = fits.Header() + # wcs = fits.Header() wcs_dict = {'CTYPE1': 'WAVE ', 'CUNIT1': 'Angstrom', 'CDELT1': self.config.dlam, @@ -62,33 +62,33 @@ class Cube3D(): 'CDELT3': self.dpix / 3600., 'CRPIX3': np.round(self.nx / 2.), 'CRVAL3': 1, - 'BUNIT' : '10**(-17)*erg/s/cm**2/Angstrom'} + 'BUNIT': '10**(-17)*erg/s/cm**2/Angstrom'} input_wcs = astropy.wcs.WCS(wcs_dict) self.wcs_header = input_wcs.to_header() - def insert_spec(self, spec, dx = 0, dy = 0): + def insert_spec(self, spec, dx=0, dy=0): x0 = np.int(np.round(self.config.nx / 2.)) y0 = np.int(np.round(self.config.ny / 2.)) self.flux[x0 + dx, y0 + dy, :] = self.flux[x0 + dx, y0 + dy, :] + spec.flux - def savefits(self, filename, path = './'): + def savefits(self, filename, path='./'): hdr = fits.Header() hdr['FILETYPE'] = 'SCICUBE' - hdr['CODE'] = 'CSST-IFS-GEHONG' - hdr['VERSION'] = '0.0.1' + hdr['CODE'] = 'CSST-IFS-GEHONG' + hdr['VERSION'] = '0.0.1' - hdr['OBJECT'] = 'NGC1234' - hdr['RA'] = 0.0 - hdr['DEC'] = 0.0 + hdr['OBJECT'] = 'NGC1234' + hdr['RA'] = 0.0 + hdr['DEC'] = 0.0 - hdu0 = fits.PrimaryHDU(header = hdr) + hdu0 = fits.PrimaryHDU(header=hdr) self.wcs_info() hdr = self.wcs_header - hdu1 = fits.ImageHDU(self.flux, header = hdr) + hdu1 = fits.ImageHDU(self.flux, header=hdr) # Output hdulist = fits.HDUList([hdu0, hdu1]) - hdulist.writeto(path + filename, overwrite = True) \ No newline at end of file + hdulist.writeto(path + filename, overwrite=True) \ No newline at end of file diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.40T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm0.71T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.31T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm1.71T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zm2.32T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.00T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0631_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0631_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0708_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0708_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0794_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0794_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0891_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.0891_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1122_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1122_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1259_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1259_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1413_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1413_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1585_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1585_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1778_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1778_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1995_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.1995_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2239_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2239_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2512_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2512_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2818_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.2818_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3162_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3162_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3548_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3548_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3981_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.3981_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.4467_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.4467_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5012_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5012_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.5623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.6310_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.6310_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7079_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7079_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7943_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.7943_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.8913_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T00.8913_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.1220_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.1220_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.2589_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.2589_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.4125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.4125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.5849_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.5849_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.7783_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.7783_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.9953_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T01.9953_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.2387_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.2387_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.5119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.5119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.8184_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T02.8184_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.1623_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.1623_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.5481_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.5481_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.9811_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T03.9811_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T04.4668_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T04.4668_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.0119_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.0119_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.6234_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T05.6234_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T06.3096_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T06.3096_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.0795_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.0795_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.9433_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T07.9433_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T08.9125_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T08.9125_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T10.0000_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T10.0000_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T11.2202_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T11.2202_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T12.5893_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T12.5893_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T14.1254_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T14.1254_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T15.8489_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T15.8489_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T17.7828_iPp0.00_baseFe.fits b/csst_ifs_gehong/data/EMILES/Ech1.30Zp0.22T17.7828_iPp0.00_baseFe.fits old mode 100755 new mode 100644 diff --git a/csst_ifs_gehong/map2d.py b/csst_ifs_gehong/map2d.py index 24c328b..5ffd512 100644 --- a/csst_ifs_gehong/map2d.py +++ b/csst_ifs_gehong/map2d.py @@ -2,11 +2,11 @@ from __future__ import division import scipy.special as sp import numpy as np -from astropy.io import fits from skimage.transform import resize -def Sersic2D(x, y, mag = 12.0, r_eff = 1.0, n = 2.0, ellip = 0.5, - theta = 0.0, x_0 = 0.0, y_0 = 0.0, pixelscale = 0.01): + +def Sersic2D(x, y, mag=12.0, r_eff=1.0, n=2.0, ellip=0.5, + theta=0.0, x_0=0.0, y_0=0.0, pixelscale=0.01): """ Sersic2D: Caculate the surface brightness at given spatial position base on the Sersic model. @@ -35,7 +35,6 @@ def Sersic2D(x, y, mag = 12.0, r_eff = 1.0, n = 2.0, ellip = 0.5, Returns ------- - _description_ """ @@ -48,7 +47,7 @@ def Sersic2D(x, y, mag = 12.0, r_eff = 1.0, n = 2.0, ellip = 0.5, cos_theta, sin_theta = np.cos(theta_radian), np.sin(theta_radian) x_maj = (x - x_0) * cos_theta + (y - y_0) * sin_theta x_min = -(x - x_0) * sin_theta + (y - y_0) * cos_theta - z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) + z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) profile = np.exp(-bn * (z ** (1 / n) - 1)) # Normalization @@ -61,8 +60,9 @@ def Sersic2D(x, y, mag = 12.0, r_eff = 1.0, n = 2.0, ellip = 0.5, return sb_mag -def VelMap2D(x, y, vmax = 200.0, rt = 1.0, ellip = 0.5, - theta = 0.0, x_0 = 0.0, y_0 = 0.0): + +def VelMap2D(x, y, vmax=200.0, rt=1.0, ellip=0.5, + theta=0.0, x_0=0.0, y_0=0.0): """ VelMap2D: Caculate the velocity at given spatial position base on the rotating disk model. The rotation curve is adpot as the tanh model. @@ -100,13 +100,14 @@ def VelMap2D(x, y, vmax = 200.0, rt = 1.0, ellip = 0.5, cos_theta, sin_theta = np.cos(theta_radian), np.sin(theta_radian) x_maj = (x - x_0) * cos_theta + (y - y_0) * sin_theta x_min = -(x - x_0) * sin_theta + (y - y_0) * cos_theta - z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) + z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) profile = vmax * np.tanh(z) * ((x_maj / a) / z) return profile -def GradMap2D(x, y, a0 = 10.0, r_eff = 1.0, gred = -1.0, ellip = 0.5, - theta = 0.0, x_0 = 0.0, y_0 = 0.0): + +def GradMap2D(x, y, a0=10.0, r_eff=1.0, gred=-1.0, ellip=0.5, + theta=0.0, x_0=0.0, y_0=0.0): """ GradMap2D: Caculate the intensity at given spatial position base on the disk model. The radial profile is adpot as the gradient model. @@ -138,7 +139,6 @@ def GradMap2D(x, y, a0 = 10.0, r_eff = 1.0, gred = -1.0, ellip = 0.5, _description_ """ - # Convert the angle in degree to angle to radians theta_radian = theta / 180 * np.pi @@ -147,11 +147,12 @@ def GradMap2D(x, y, a0 = 10.0, r_eff = 1.0, gred = -1.0, ellip = 0.5, cos_theta, sin_theta = np.cos(theta_radian), np.sin(theta_radian) x_maj = (x - x_0) * cos_theta + (y - y_0) * sin_theta x_min = -(x - x_0) * sin_theta + (y - y_0) * cos_theta - z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) + z = (abs(x_maj / a) ** 2 + abs(x_min / b) ** 2) ** (1 / 2) profile = a0 + z * gred return profile + class Map2d(object): def __init__(self, config): @@ -166,11 +167,11 @@ class Map2d(object): self.xsamp = config.dpix self.ysamp = config.dpix startx = -(config.nx - 1) / 2.0 * self.xsamp - stopx = (config.nx - 1) / 2.0 * self.xsamp + stopx = (config.nx - 1) / 2.0 * self.xsamp starty = -(config.ny - 1) / 2.0 * self.ysamp - stopy = (config.ny - 1) / 2.0 * self.ysamp - xvals = np.linspace(startx, stopx, num = config.nx) - yvals = np.linspace(starty, stopy, num = config.ny) + stopy = (config.ny - 1) / 2.0 * self.ysamp + xvals = np.linspace(startx, stopx, num=config.nx) + yvals = np.linspace(starty, stopy, num=config.ny) ones = np.ones((config.ny, config.nx)) x = ones * xvals @@ -178,8 +179,8 @@ class Map2d(object): self.nx = config.nx self.ny = config.ny - self.x = x - self.y = y + self.x = x + self.y = y self.row = xvals # flip Y axis because we use Y increasing from bottom to top self.col = yvals[::-1] @@ -207,7 +208,7 @@ class Map2d(object): ysh_rot = -xsh * np.sin(pa_radians) + ysh * np.cos(pa_radians) return ysh_rot, xsh_rot - def sersic_map(self, mag = 12.0, r_eff = 2.0, n = 2.5, ellip = 0.5, theta = -50.0): + def sersic_map(self, mag=12.0, r_eff=2.0, n=2.5, ellip=0.5, theta=-50.0): """ Generate 2D map of Sersic model @@ -229,7 +230,7 @@ class Map2d(object): if (mag > 26) or (mag < 8): print("Notice: Your input integral magnitude of Sersic mode (mag) is > 26 mag or < 8 mag.") if (r_eff <= 0): - #raise Exception("Effective radius (r_eff) should be > 0 arcsec!") + # raise Exception("Effective radius (r_eff) should be > 0 arcsec!") print("Effective radius (r_eff) should be > 0 arcsec!") if (n < 0): raise Exception("Sersic index (n) should be > 0!") @@ -240,17 +241,17 @@ class Map2d(object): if (theta > 180) or (theta < -180): print("Notice: Your input position angle (theta) is > 180 degree or < -180 degree.") - self.reff = r_eff / self.xsamp - self.mag = mag - self.n = n + self.reff = r_eff / self.xsamp + self.mag = mag + self.n = n self.ellip = ellip self.theta = theta - self.map = Sersic2D(self.x, self.y, mag = self.mag, - r_eff = self.reff, n = self.n, - ellip = self.ellip, theta = self.theta, - pixelscale = self.xsamp * self.ysamp) + self.map = Sersic2D(self.x, self.y, mag=self.mag, + r_eff=self.reff, n=self.n, + ellip=self.ellip, theta=self.theta, + pixelscale=self.xsamp * self.ysamp) - def tanh_map(self, vmax = 200.0, rt = 2.0, ellip = 0.5, theta = -50.0): + def tanh_map(self, vmax=200.0, rt=2.0, ellip=0.5, theta=-50.0): """ Generate 2D velocity map of rotating disk according to tanh rotation curve @@ -268,25 +269,25 @@ class Map2d(object): # Check Input Parameters if (vmax <= 0): - #print("Notice: Your input maximum rotational velocity (vmax) is <= 0 km/s!") + # print("Notice: Your input maximum rotational velocity (vmax) is <= 0 km/s!") raise Exception("Maximum rotational velocity (vmax) should be >0 km/s!") if (rt <= 0): - #raise Exception("Turn-over radius (rt) should be > 0 arcsec!") + # raise Exception("Turn-over radius (rt) should be > 0 arcsec!") raise Exception("Turn-over radius (rt) should be > 0 arcsec!") if (ellip > 1) or (ellip < 0): raise Exception("Ellipcity (ellip) should be >= 0 and < 1!") - #print("Ellipcity (ellip) should be >= 0 and < 1!") + # print("Ellipcity (ellip) should be >= 0 and < 1!") if (theta > 180) or (theta < -180): print("Notice: Your input position angle (theta) is > 180 degree or < -180 degree.") - self.vmax = vmax - self.rt = rt / self.xsamp + self.vmax = vmax + self.rt = rt / self.xsamp self.ellip = ellip self.theta = theta - self.map = VelMap2D(self.x, self.y, vmax = self.vmax, rt = self.rt, - ellip = self.ellip, theta = self.theta) + self.map = VelMap2D(self.x, self.y, vmax=self.vmax, rt=self.rt, + ellip=self.ellip, theta=self.theta) - def gred_map(self, a0 = 10, r_eff = 1, gred = -1, ellip = 0.5, theta = 0): + def gred_map(self, a0=10, r_eff=1, gred=-1, ellip=0.5, theta=0): """ Generate 2D maps according to the radial gradient form @@ -306,20 +307,20 @@ class Map2d(object): # Check Input Parameters if (r_eff <= 0): raise Exception("Effective radius (r_eff) should be > 0 arcsec!") - #print("Effective radius (r_eff) should be > 0 arcsec!") + # print("Effective radius (r_eff) should be > 0 arcsec!") if (ellip > 1) or (ellip < 0): - #raise Exception("Ellipcity (ellip) should be >= 0 and < 1!") + # raise Exception("Ellipcity (ellip) should be >= 0 and < 1!") print("Notice: Ellipcity (ellip) should be >= 0 and < 1!") if (theta > 180) or (theta < -180): print("Notice: Your input position angle (theta) is > 180 degree or < -180 degree.") - self.a0 = a0 - self.reff = r_eff / self.xsamp - self.gred = gred + self.a0 = a0 + self.reff = r_eff / self.xsamp + self.gred = gred self.ellip = ellip self.theta = theta - self.map = GradMap2D(self.x, self.y, a0 = self.a0, r_eff = self.reff, - gred = self.gred, ellip = self.ellip, theta = self.theta) + self.map = GradMap2D(self.x, self.y, a0=self.a0, r_eff=self.reff, + gred=self.gred, ellip=self.ellip, theta=self.theta) def load_map(self, image): """ @@ -334,7 +335,8 @@ class Map2d(object): self.map = resize(image, (self.nx, self.ny)) else: print("Input array should be a 2d-array!") - + + class StellarPopulationMap(): """ Class of 2D maps for the parameters of stellar population, such as @@ -358,55 +360,56 @@ class StellarPopulationMap(): ebv : class, optional Class of the map of dust extinction, by default None """ - def __init__(self, config, sbright = None, logage = None, - feh = None, vel = None, vdisp = None, ebv = None): + def __init__(self, config, sbright=None, logage=None, + feh=None, vel=None, vdisp=None, ebv=None): - self.nx = config.nx - self.ny = config.ny - self.dpix = config.dpix + self.nx = config.nx + self.ny = config.ny + self.dpix = config.dpix self.fov_x = config.fov_x self.fov_y = config.fov_y - if (sbright == None): + if (sbright is None): print('Input SurfaceBrightness Map is empty!') else: self.sbright = sbright.map self.mag = self.sbright - 2.5 * np.log10(self.dpix * self.dpix) - if (logage == None): + if (logage is None): print('Input Age Map is empty!') else: - self.logage = logage.map + self.logage = logage.map self.age = 10 ** self.logage / 1e9 - if (feh == None): + if (feh is None): print('Input Metallicity Map is empty!') else: - self.feh = feh.map + self.feh = feh.map - if (vel == None): + if (vel is None): print('Input Velocity Map is empty!') else: - self.vel = vel.map + self.vel = vel.map - if (vdisp == None): + if (vdisp is None): print('Input VelocityDispersion Map is empty!') else: - self.vdisp = vdisp.map + self.vdisp = vdisp.map ind_overrange = (self.vdisp < 10) if len(self.vdisp[ind_overrange]) > 0: print("Notice: Spaxel with <10km/s in the input vdisp map will be automatically adjusted to 10km/s.") self.vdisp[ind_overrange] = 10 - if (ebv == None): + if (ebv is None): print('Input EBV Map is empty!') else: - self.ebv = ebv.map + self.ebv = ebv.map ind_overrange = (self.ebv < 0) if len(self.ebv[ind_overrange]) > 0: print("Notice: Spaxel with < 0 mag in the input ebv map will be automatically adjusted to 0 mag.") self.ebv[ind_overrange] = 0 + class IonizedGasMap(): """ Class of 2D maps for the parameters of ionized gas, such as @@ -428,42 +431,42 @@ class IonizedGasMap(): ebv : class, optional Class of the map of dust extinction, by default None """ - def __init__(self, config, halpha = None, zh = None, vel = None, vdisp = None, ebv = None): + def __init__(self, config, halpha=None, zh=None, vel=None, vdisp=None, ebv=None): - self.nx = config.nx - self.ny = config.ny - self.dpix = config.dpix - self.fov_x = config.fov_x - self.fov_y = config.fov_y + self.nx = config.nx + self.ny = config.ny + self.dpix = config.dpix + self.fov_x = config.fov_x + self.fov_y = config.fov_y - if (halpha == None): + if (halpha is None): print('Input Halpha Map is empty!') else: self.halpha = halpha.map - if (zh == None): + if (zh is None): print('Input ZH Map is empty!') else: - self.zh = zh.map + self.zh = zh.map - if (vel == None): + if (vel is None): print('Input Vel Map is empty!') else: - self.vel = vel.map + self.vel = vel.map - if (vdisp == None): + if (vdisp is None): print('Input Vdisp Map is empty!') ind_overrange = (self.vdisp < 10) if len(self.vdisp[ind_overrange]) > 0: print("Notice: Spaxel with <10km/s in the input vdisp map will be automatically adjusted to 10km/s.") self.vdisp[ind_overrange] = 10 else: - self.vdisp = vdisp.map + self.vdisp = vdisp.map - if (ebv == None): + if (ebv is None): print('Input EBV Map is empty!') else: - self.ebv = ebv.map + self.ebv = ebv.map ind_overrange = (self.ebv < 0) if len(self.ebv[ind_overrange]) > 0: print("Notice: Spaxel with < 0 mag in the input ebv map will be automatically adjusted to 0 mag.") diff --git a/csst_ifs_gehong/spec1d.py b/csst_ifs_gehong/spec1d.py index dbcea4f..c15cd42 100644 --- a/csst_ifs_gehong/spec1d.py +++ b/csst_ifs_gehong/spec1d.py @@ -6,10 +6,12 @@ import numpy as np import astropy.units as u from astropy.io import fits from scipy.stats import norm +from scipy import ndimage from scipy.interpolate import interp1d data_path = os.path.dirname(os.path.abspath(__file__)) + def readcol(filename, **kwargs): """ readcol, taken from ppxf. @@ -27,7 +29,7 @@ def readcol(filename, **kwargs): f = np.genfromtxt(filename, dtype=None, **kwargs) t = type(f[0]) - if t == np.ndarray or t == np.void: # array or structured array + if t == np.ndarray or t == np.void: # array or structured array f = map(np.array, zip(*f)) # In Python 3.x all strings (e.g. name='NGC1023') are Unicode strings by defauls. @@ -38,10 +40,11 @@ def readcol(filename, **kwargs): # test a == 'NGC1023' will give True as expected. if sys.version >= '3': - f = [v.astype(str) if v.dtype.char=='S' else v for v in f] + f = [v.astype(str) if v.dtype.char == 'S' else v for v in f] return f + def log_rebin(lamRange, spec, oversample=False, velscale=None, flux=False): """ Logarithmically rebin a spectrum, while rigorously conserving the flux. @@ -78,38 +81,39 @@ def log_rebin(lamRange, spec, oversample=False, velscale=None, flux=False): assert len(s) == 1, 'input spectrum must be a vector' n = s[0] if oversample: - m = int(n*oversample) + m = int(n * oversample) else: m = int(n) - dLam = np.diff(lamRange)/(n - 1.) # Assume constant dLam - lim = lamRange/dLam + [-0.5, 0.5] # All in units of dLam - borders = np.linspace(*lim, num=n+1) # Linearly + dLam = np.diff(lamRange) / (n - 1.) # Assume constant dLam + lim = lamRange / dLam + [-0.5, 0.5] # All in units of dLam + borders = np.linspace(*lim, num=n + 1) # Linearly logLim = np.log(lim) c = 299792.458 # Speed of light in km/s if velscale is None: # Velocity scale is set by user - velscale = np.diff(logLim)/m*c # Only for output + velscale = np.diff(logLim) / m * c # Only for output else: - logScale = velscale/c - m = int(np.diff(logLim)/logScale) # Number of output pixels - logLim[1] = logLim[0] + m*logScale + logScale = velscale / c + m = int(np.diff(logLim) / logScale) # Number of output pixels + logLim[1] = logLim[0] + m * logScale - newBorders = np.exp(np.linspace(*logLim, num=m+1)) # Logarithmically - k = (newBorders - lim[0]).clip(0, n-1).astype(int) + newBorders = np.exp(np.linspace(*logLim, num=m + 1)) # Logarithmically + k = (newBorders - lim[0]).clip(0, n - 1).astype(int) specNew = np.add.reduceat(spec, k)[:-1] # Do analytic integral specNew *= np.diff(k) > 0 # fix for design flaw of reduceat() - specNew += np.diff((newBorders - borders[k])*spec[k]) + specNew += np.diff((newBorders - borders[k]) * spec[k]) if not flux: specNew /= np.diff(newBorders) # Output log(wavelength): log of geometric mean - logLam = np.log(np.sqrt(newBorders[1:]*newBorders[:-1])*dLam) + logLam = np.log(np.sqrt(newBorders[1:] * newBorders[:-1]) * dLam) return specNew, logLam, velscale + def gaussian_filter1d(spec, sig): """ One-dimensional Gaussian convolution @@ -126,23 +130,24 @@ def gaussian_filter1d(spec, sig): Spectrum after convolution """ sig = sig.clip(0.01) # forces zero sigmas to have 0.01 pixels - p = int(np.ceil(np.max(3*sig))) - m = 2*p + 1 # kernel size + p = int(np.ceil(np.max(3 * sig))) + m = 2 * p + 1 # kernel size x2 = np.linspace(-p, p, m)**2 n = spec.size a = np.zeros((m, n)) for j in range(m): # Loop over the small size of the kernel - a[j, p:-p] = spec[j:n-m+j+1] + a[j, p:-p] = spec[j:n - m + j + 1] - gau = np.exp(-x2[:, None]/(2*sig**2)) + gau = np.exp(-x2[:, None] / (2 * sig**2)) gau /= np.sum(gau, 0)[None, :] # Normalize kernel - conv_spectrum = np.sum(a*gau, 0) + conv_spectrum = np.sum(a * gau, 0) return conv_spectrum -def calibrate(wave, flux, mag, filtername = 'SLOAN_SDSS.r'): + +def calibrate(wave, flux, mag, filtername='SLOAN_SDSS.r'): """ Flux calibration of spectrum @@ -164,11 +169,11 @@ def calibrate(wave, flux, mag, filtername = 'SLOAN_SDSS.r'): """ # Loading response curve if filtername == '5100': - wave0 = np.linspace(3000,10000,7000) + wave0 = np.linspace(3000, 10000, 7000) response0 = np.zeros(7000) response0[(wave0 > 5050) & (wave0 < 5150)] = 1. else: - filter_file = data_path + '/data/filter/' + filtername+'.filter' + filter_file = data_path + '/data/filter/' + filtername + '.filter' wave0, response0 = readcol(filter_file) # Setting the response @@ -183,7 +188,7 @@ def calibrate(wave, flux, mag, filtername = 'SLOAN_SDSS.r'): preflux = np.sum(flux * response * np.mean(np.diff(wave))) / np.sum(response * np.mean(np.diff(wave))) # Real flux from magnitude for given filter - realflux = (mag * u.STmag).to(u.erg/u.s/u.cm**2/u.AA).value + realflux = (mag * u.STmag).to(u.erg / u.s / u.cm**2 / u.AA).value # Normalization flux_ratio = realflux / preflux @@ -194,7 +199,8 @@ def calibrate(wave, flux, mag, filtername = 'SLOAN_SDSS.r'): # ---------------- # Reddening Module -def Calzetti_Law(wave, Rv = 4.05): + +def Calzetti_Law(wave, Rv=4.05): """ Dust Extinction Curve of Calzetti et al. (2000) @@ -210,18 +216,19 @@ def Calzetti_Law(wave, Rv = 4.05): float Extinction value corresponding to the input wavelength """ - wave_number = 1./(wave * 1e-4) + wave_number = 1. / (wave * 1e-4) reddening_curve = np.zeros(len(wave)) idx = (wave >= 1200) & (wave < 6300) - reddening_curve[idx] = 2.659 * ( -2.156 + 1.509 * wave_number[idx] - 0.198 * \ - (wave_number[idx] ** 2)) + 0.011 * (wave_number[idx] **3 ) + Rv + reddening_curve[idx] = 2.659 * (-2.156 + 1.509 * wave_number[idx] - 0.198 * + (wave_number[idx] ** 2)) + 0.011 * (wave_number[idx] ** 3) + Rv idx = (wave >= 6300) & (wave <= 22000) - reddening_curve[idx] = 2.659 * ( -1.857 + 1.040 * wave_number[idx]) + Rv + reddening_curve[idx] = 2.659 * (-1.857 + 1.040 * wave_number[idx]) + Rv return reddening_curve -def reddening(wave, flux, ebv = 0.0, law = 'calzetti', Rv = 4.05): + +def reddening(wave, flux, ebv=0.0, law='calzetti', Rv=4.05): """ Reddening an input spectra through a given reddening curve. @@ -243,7 +250,7 @@ def reddening(wave, flux, ebv = 0.0, law = 'calzetti', Rv = 4.05): float array Flux of spectra after reddening """ - curve = Calzetti_Law(wave, Rv = Rv) + curve = Calzetti_Law(wave, Rv=Rv) fluxNew = flux / (10. ** (0.4 * ebv * curve)) return fluxNew @@ -251,6 +258,7 @@ def reddening(wave, flux, ebv = 0.0, law = 'calzetti', Rv = 4.05): # Emission Lines ################ + def SingleEmissinoLine(wave, line_wave, FWHM_inst): """ Profile of single emission line (Gaussian profile) @@ -273,6 +281,7 @@ def SingleEmissinoLine(wave, line_wave, FWHM_inst): flux = norm.pdf(wave, line_wave, sigma) return flux + class EmissionLineTemplate(): """ Template for the emission lines @@ -290,7 +299,7 @@ class EmissionLineTemplate(): by default 'hii' """ - def __init__(self, config, lam_range = [500, 15000], dlam = 0.1, model = 'hii'): + def __init__(self, config, lam_range=[500, 15000], dlam=0.1, model='hii'): self.lam_range = lam_range self.wave = np.arange(lam_range[0], lam_range[1], 0.1) @@ -305,8 +314,8 @@ class EmissionLineTemplate(): line_table = fits.open(flux_table_file) # Emission line list - line_list = line_table[1].data - line_wave = line_list['Wave'] + line_list = line_table[1].data + line_wave = line_list['Wave'] line_names = line_list['Name'] w = (line_wave > lam_range[0]) & (line_wave < lam_range[1]) @@ -315,7 +324,7 @@ class EmissionLineTemplate(): # Make parameter grid grid = line_table[2].data - self.logz_grid = grid['logZ'] + self.logz_grid = grid['logZ'] # Narrow line region model of if model == 'nlr': @@ -325,8 +334,8 @@ class EmissionLineTemplate(): line_table = fits.open(flux_table_file) # Emission line list - line_list = line_table[1].data - line_wave = line_list['Wave'] + line_list = line_table[1].data + line_wave = line_list['Wave'] line_names = line_list['Name'] w = (line_wave > lam_range[0]) & (line_wave < lam_range[1]) @@ -335,7 +344,7 @@ class EmissionLineTemplate(): # Make parameter grid grid = line_table[2].data - self.logz_grid = grid['logZ'] + self.logz_grid = grid['logZ'] # Flux ratio flux_ratio = line_table[3].data @@ -344,14 +353,15 @@ class EmissionLineTemplate(): # Make emission line nline = len(line_wave) for i in range(nline): - if i==0: - emission_line = SingleEmissinoLine(self.wave, line_wave[i], self.FWHM_inst) + if i == 0: + emission_line = SingleEmissinoLine(self.wave, line_wave[i], self.FWHM_inst) emission_lines = emission_line else: - emission_line = SingleEmissinoLine(self.wave, line_wave[i], self.FWHM_inst) + emission_line = SingleEmissinoLine(self.wave, line_wave[i], self.FWHM_inst) emission_lines = np.vstack((emission_lines, emission_line)) self.emission_lines = emission_lines.T + class HII_Region(): """ @@ -380,29 +390,28 @@ class HII_Region(): The value of logZ should be between -2 and 0.5. """ - def __init__(self, config, temp, halpha = 100.0, logz = 0.0, - vel = 100.0, vdisp = 120.0, ebv = 0.1): + def __init__(self, config, temp, halpha=100.0, logz=0.0, vel=100.0, vdisp=120.0, ebv=0.1): # Check Input Parameters - #if (halpha < 0): + # if (halpha < 0): # print("Notice: Your input Halpha flux (halpha) is < 0 erg/s/A/cm^2. ") if (logz >= -2) & (logz <= 0.5): indz = np.argmin(np.abs(logz - temp.logz_grid)) flux_ratio = temp.flux_ratio[indz, :] else: raise ValueError('Input gas-phase metallicity (logz) should be [-2, 0.5]!') - #if (ebv < 0): + # if (ebv < 0): # ebv = 0 # print('Notice: Your input dust extinction (ebv) is < 0 mag, which will be automatically adjusted to 0 mag. ') # Make emission line spectra through adding emission lines emlines = temp.emission_lines * flux_ratio - flux_combine = np.sum(emlines, axis = 1) + flux_combine = np.sum(emlines, axis=1) flux_calibrate = flux_combine * halpha # Units: erg/s/A/cm^2 # Dust attenuation if np.isscalar(ebv): - flux_dust = reddening(temp.wave, flux_calibrate, ebv = ebv) + flux_dust = reddening(temp.wave, flux_calibrate, ebv=ebv) # Broadening caused by Velocity Dispersion velscale = 10 @@ -412,7 +421,7 @@ class HII_Region(): sigma_gas = vdisp / velscale # in pixel sigma_LSF = temp.FWHM_inst / (np.exp(logLam)) * 3e5 / velscale # in pixel - if sigma_gas>0: + if sigma_gas > 0: sigma_dif = np.zeros(len(flux_logwave)) idx = (sigma_gas > sigma_LSF) sigma_dif[idx] = np.sqrt(sigma_gas ** 2. - sigma_LSF[idx] ** 2.) @@ -435,6 +444,7 @@ class HII_Region(): # AGN Spectra ############# + class AGN_NLR(): """ @@ -463,8 +473,7 @@ class AGN_NLR(): The value of logZ should be between -2 and 0.5. """ - def __init__(self, config, temp, halpha = 100.0, logz = 0.0, - vel = 100.0, vdisp = 120.0, ebv = 0.1): + def __init__(self, config, temp, halpha=100.0, logz=0.0, vel=100.0, vdisp=120.0, ebv=0.1): if (logz >= -2.3) & (logz <= 0.54): indz = np.argmin(np.abs(logz - temp.logz_grid)) @@ -473,13 +482,13 @@ class AGN_NLR(): raise ValueError('The value of logZ is not in the range of [-2.3, 0.54]') # Make emission line spectra through adding emission lines - emlines = temp.emission_lines * (flux_ratio / flux_ratio[6] ) - flux_combine = np.sum(emlines, axis = 1) + emlines = temp.emission_lines * (flux_ratio / flux_ratio[6]) + flux_combine = np.sum(emlines, axis=1) flux_calibrate = flux_combine * halpha # Units: 1e-17 erg/s/A/cm^2 # Dust attenuation if np.isscalar(ebv): - flux_dust = reddening(temp.wave, flux_calibrate, ebv = ebv) + flux_dust = reddening(temp.wave, flux_calibrate, ebv=ebv) # Broadening caused by Velocity Dispersion velscale = 10 @@ -489,7 +498,7 @@ class AGN_NLR(): sigma_gas = vdisp / velscale # in pixel sigma_LSF = temp.FWHM_inst / (np.exp(logLam)) * 3e5 / velscale # in pixel - if sigma_gas>0: + if sigma_gas > 0: sigma_dif = np.zeros(len(flux_logwave)) idx = (sigma_gas > sigma_LSF) sigma_dif[idx] = np.sqrt(sigma_gas ** 2. - sigma_LSF[idx] ** 2.) @@ -505,6 +514,7 @@ class AGN_NLR(): self.wave = config.wave self.flux = flux_red + class AGN_BLR(): """ @@ -526,8 +536,8 @@ class AGN_BLR(): Wavelength range, by default [500, 15000] """ - def __init__(self, config, hbeta_flux = 100.0, hbeta_fwhm = 2000.0, ebv = 0.1, - vel = 0., lam_range = [500, 15000]): + def __init__(self, config, hbeta_flux=100.0, hbeta_fwhm=2000.0, ebv=0.1, + vel=0., lam_range=[500, 15000]): wave_rest = np.arange(lam_range[0], lam_range[1], 0.1) @@ -537,23 +547,23 @@ class AGN_BLR(): # Make emission lines for i in range(len(line_names)): - if i==0: - emission_line = SingleEmissinoLine(wave_rest, line_waves[i], - hbeta_fwhm / 3e5 * line_waves[i]) + if i == 0: + emission_line = SingleEmissinoLine(wave_rest, line_waves[i], + hbeta_fwhm / 3e5 * line_waves[i]) emission_lines = emission_line else: - emission_line = SingleEmissinoLine(wave_rest, line_waves[i], - hbeta_fwhm / 3e5 * line_waves[i]) + emission_line = SingleEmissinoLine(wave_rest, line_waves[i], + hbeta_fwhm / 3e5 * line_waves[i]) emission_lines = np.vstack((emission_lines, emission_line)) emlines = emission_lines.T * line_ratio - flux_combine = np.sum(emlines, axis = 1) + flux_combine = np.sum(emlines, axis=1) # Flux callibration flux_calibrate = flux_combine * hbeta_flux # Units: 1e-17 erg/s/A/cm^2 # Dust attenuation if np.isscalar(ebv): - flux_dust = reddening(wave_rest, flux_calibrate, ebv = ebv) + flux_dust = reddening(wave_rest, flux_calibrate, ebv=ebv) else: flux_dust = flux_calibrate @@ -565,6 +575,7 @@ class AGN_BLR(): self.wave = config.wave self.flux = flux_red + class AGN_FeII(): """ Class for FeII emission lines of AGN @@ -583,18 +594,18 @@ class AGN_FeII(): Dust extinction, by default 0.1 """ - def __init__(self, config, hbeta_broad = 100.0, r4570 = 0.4, ebv = 0.1, vel = 100.0): + def __init__(self, config, hbeta_broad=100.0, r4570=0.4, ebv=0.1, vel=100.0): filename = data_path + '/data/FeII.AGN.fits' # Loading FeII template hdulist = fits.open(filename) data = hdulist[1].data - wave_rest = data['WAVE'] + wave_rest = data['WAVE'] flux_model = data['FLUX'] # Determine the flux of FeII - Fe4570_temp = 100 + Fe4570_temp = 100 Fe4570_model = hbeta_broad * r4570 Ratio_Fe4570 = Fe4570_model / Fe4570_temp @@ -603,18 +614,19 @@ class AGN_FeII(): # Dust attenuation if np.isscalar(ebv): - flux_dust = reddening(wave_rest, flux_calibrate, ebv = ebv) + flux_dust = reddening(wave_rest, flux_calibrate, ebv=ebv) else: flux_dust = flux_calibrate # Redshift redshift = vel / 3e5 - wave_r = wave_rest * (1 + redshift) + wave_r = wave_rest * (1 + redshift) flux_red = np.interp(config.wave, wave_r, flux_dust) self.wave = config.wave self.flux = flux_red + class AGN_Powerlaw(): """ @@ -634,28 +646,29 @@ class AGN_Powerlaw(): Dust extinction, by default 0.1 """ - def __init__(self, config, m5100 = 1000.0, alpha = -1.5, vel = 100.0, ebv = 0.1): + def __init__(self, config, m5100=1000.0, alpha=-1.5, vel=100.0, ebv=0.1): - wave_rest = np.linspace(1000,20000,10000) - flux = wave_rest ** alpha + wave_rest = np.linspace(1000, 20000, 10000) + flux = wave_rest ** alpha # Flux calibration flux_calibrate = calibrate(wave_rest, flux, m5100, filtername='5100') # Dust attenuation if np.isscalar(ebv): - flux_dust = reddening(wave_rest, flux_calibrate, ebv = ebv) + flux_dust = reddening(wave_rest, flux_calibrate, ebv=ebv) else: flux_dust = flux_calibrate # Redshift redshift = vel / 3e5 - wave_r = wave_rest * (1 + redshift) + wave_r = wave_rest * (1 + redshift) flux_red = np.interp(config.wave, wave_r, flux_dust) self.wave = config.wave self.flux = flux_red + class AGN(): """ @@ -689,12 +702,12 @@ class AGN(): dist : float, optional Luminosity distance of AGN, by default 20.0Mpc """ - def __init__(self, config, nlr_template, bhmass = 1e6, edd_ratio = 0.05, - halpha_broad = 100.0, halpha_narrow = 100.0, vdisp_broad = 5000.0, vdisp_narrow = 500.0, - vel = 1000.0, logz = 0.0, ebv = 0.1, dist = 20.0): + def __init__(self, config, nlr_template, bhmass=1e6, edd_ratio=0.05, + halpha_broad=100.0, halpha_narrow=100.0, vdisp_broad=5000.0, vdisp_narrow=500.0, + vel=1000.0, logz=0.0, ebv=0.1, dist=20.0): # Check Input Parameters - if (bhmass <0): + if (bhmass < 0): raise Exception("Input black hole mass (bhmass) should be >= 0 solarmass.") if (edd_ratio < 0): raise Exception("Input Eddington ratio (edd_ratio) should be >= 0.") @@ -716,22 +729,23 @@ class AGN(): self.flux = self.wave * 0 if (vdisp_narrow > 0) & (halpha_narrow > 0): - NLR = AGN_NLR(config, nlr_template, halpha = halpha_narrow, logz = logz, - vel = vel, vdisp = vdisp_narrow, ebv = ebv) + NLR = AGN_NLR(config, nlr_template, halpha=halpha_narrow, logz=logz, + vel=vel, vdisp=vdisp_narrow, ebv=ebv) self.flux = self.flux + NLR.flux if (halpha_broad > 0) & (vdisp_broad > 0): - BLR = AGN_BLR(config, hbeta_flux = halpha_broad / 2.579, - hbeta_fwhm = vdisp_broad / 2.355, ebv = ebv, vel = vel) + BLR = AGN_BLR(config, hbeta_flux=halpha_broad / 2.579, + hbeta_fwhm=vdisp_broad / 2.355, ebv=ebv, vel=vel) self.flux = self.flux + BLR.flux if (bhmass > 0) & (edd_ratio > 0): - m5100 = BHmass_to_M5100(bhmass, edd_ratio = edd_ratio, dist = dist) - PL = AGN_Powerlaw(config, m5100 = m5100, ebv = ebv, vel = vel) - Fe = AGN_FeII(config, hbeta_broad = halpha_broad / 2.579, ebv = ebv, vel = vel) + m5100 = BHmass_to_M5100(bhmass, edd_ratio=edd_ratio, dist=dist) + PL = AGN_Powerlaw(config, m5100=m5100, ebv=ebv, vel=vel) + Fe = AGN_FeII(config, hbeta_broad=halpha_broad / 2.579, ebv=ebv, vel=vel) self.flux = self.flux + PL.flux + Fe.flux -def BHmass_to_M5100(bhmass, edd_ratio = 0.05, dist = 21.0): + +def BHmass_to_M5100(bhmass, edd_ratio=0.05, dist=21.0): """ Caculate magnitude at 5100A according to the black hole mass @@ -765,16 +779,6 @@ def BHmass_to_M5100(bhmass, edd_ratio = 0.05, dist = 21.0): # Stellar Spectra ################# -""" - Extract the age and metallicity from the name of a file of - the MILES library of Single Stellar Population models as - downloaded from http://miles.iac.es/ as of 2016 - - :param filename: string possibly including full path - (e.g. 'miles_library/Mun1.30Zm0.40T03.9811.fits') - :return: age (Gyr), [M/H] - - """ def age_metal(filename): """ @@ -799,8 +803,8 @@ def age_metal(filename): This is not a standard MILES filename """ s = path.basename(filename) - age = float(s[s.find("T")+1:s.find("_iPp0.00_baseFe.fits")]) - metal = s[s.find("Z")+1:s.find("T")] + age = float(s[s.find("T") + 1:s.find("_iPp0.00_baseFe.fits")]) + metal = s[s.find("Z") + 1:s.find("T")] if "m" in metal: metal = -float(metal[1:]) elif "p" in metal: @@ -810,6 +814,7 @@ def age_metal(filename): return age, metal + class StellarContinuumTemplate(object): """ Class of single stellar population template. @@ -826,9 +831,9 @@ class StellarContinuumTemplate(object): normalize : bool, optional Set to True to normalize each template to mean=1, by default False """ - def __init__(self, config, velscale = 50, - pathname = data_path + '/data/EMILES/Ech*_baseFe.fits', - normalize = False): + def __init__(self, config, velscale=50, + pathname=data_path + '/data/EMILES/Ech*_baseFe.fits', + normalize=False): FWHM_inst = config.inst_fwhm @@ -849,9 +854,9 @@ class StellarContinuumTemplate(object): hdu = fits.open(files[0]) ssp = hdu[0].data h2 = hdu[0].header - lam_range_temp = h2['CRVAL1'] + np.array([0, h2['CDELT1']*(h2['NAXIS1']-1)]) + lam_range_temp = h2['CRVAL1'] + np.array([0, h2['CDELT1'] * (h2['NAXIS1'] - 1)]) sspNew, log_lam_temp = log_rebin(lam_range_temp, ssp, velscale=velscale)[:2] - #wave=((np.arange(hdr['NAXIS1'])+1.0)-hdr['CRPIX1'])*hdr['CDELT1']+hdr['CRVAL1'] + # wave=((np.arange(hdr['NAXIS1'])+1.0)-hdr['CRPIX1'])*hdr['CDELT1']+hdr['CRVAL1'] templates = np.empty((sspNew.size, n_ages, n_metal)) age_grid = np.empty((n_ages, n_metal)) @@ -873,19 +878,19 @@ class StellarContinuumTemplate(object): Emile_FWHM[np.where((Emile_wave >= 3060) & (Emile_wave < 3540))] = 3. Emile_FWHM[np.where((Emile_wave >= 3540) & (Emile_wave < 8950))] = 2.5 Lwave = Emile_wave[np.where(Emile_wave >= 8950)] - Emile_FWHM[np.where(Emile_wave >= 8950)]=60*2.35/3.e5*Lwave # sigma=60km/s at lambda > 8950 + Emile_FWHM[np.where(Emile_wave >= 8950)] = 60 * 2.35 / 3.e5 * Lwave # sigma=60km/s at lambda > 8950 LSF = Emile_FWHM - FWHM_eff=Emile_FWHM.copy() # combined FWHM from stellar library and instrument(input) + FWHM_eff = Emile_FWHM.copy() # combined FWHM from stellar library and instrument(input) if np.isscalar(FWHM_inst): FWHM_eff[Emile_FWHM < FWHM_inst] = FWHM_inst LSF[Emile_FWHM < FWHM_inst] = FWHM_inst else: FWHM_eff[Emile_FWHM < FWHM_inst] = FWHM_inst[Emile_FWHM < FWHM_inst] LSF[Emile_FWHM < FWHM_inst] = FWHM_inst[Emile_FWHM < FWHM_inst] - FWHM_dif = np.sqrt(FWHM_eff**2 - Emile_FWHM**2) - sigma_dif = FWHM_dif/2.355/h2['CDELT1'] # Sigma difference in pixels + FWHM_dif = np.sqrt(FWHM_eff**2 - Emile_FWHM**2) + sigma_dif = FWHM_dif / 2.355 / h2['CDELT1'] # Sigma difference in pixels # Here we make sure the spectra are sorted in both [M/H] and Age # along the two axes of the rectangular grid of templates. @@ -898,14 +903,14 @@ class StellarContinuumTemplate(object): ssp = ndimage.gaussian_filter1d(ssp, sigma_dif) else: ssp = gaussian_filter1d(ssp, sigma_dif) # convolution with variable sigma - sspNew = log_rebin(lam_range_temp, ssp, velscale=velscale)[0] + sspNew = log_rebin(lam_range_temp, ssp, velscale=velscale)[0] if normalize: sspNew /= np.mean(sspNew) templates[:, j, k] = sspNew - age_grid[j, k] = age + age_grid[j, k] = age metal_grid[j, k] = metal - self.templates = templates/np.median(templates) # Normalize by a scalar + self.templates = templates / np.median(templates) # Normalize by a scalar self.log_lam_temp = log_lam_temp self.age_grid = age_grid self.metal_grid = metal_grid @@ -920,18 +925,19 @@ class StellarContinuumTemplate(object): massfile = isedpath + 'out_mass_CH_PADOVA00' n_metal = self.n_metal n_ages = self.n_ages - fage = self.age_grid[:,0] + # fage = self.age_grid[:,0] - fMs = np.zeros((n_ages,n_metal)) + fMs = np.zeros((n_ages, n_metal)) Metal, Age, Ms = readcol(massfile, usecols=(2, 3, 6)) for i in range(n_metal): for j in range(self.n_ages): locmin = np.argmin(abs(Metal - self.metal_grid[j, i])) & np.argmin(abs(Age - self.age_grid[j, i])) - fMs[j,i] = Ms[locmin] + fMs[j, i] = Ms[locmin] return fMs + class StellarContinuum(): """ The class of stellar continuum @@ -955,8 +961,8 @@ class StellarContinuum(): ebv : float, optional Dust extinction, by default 0.1 """ - def __init__(self, config, template, mag = 15.0, age = 1.0, feh = 0.0, - vel = 100.0, vdisp = 100.0, ebv = 0.1): + def __init__(self, config, template, mag=15.0, age=1.0, feh=0.0, + vel=100.0, vdisp=100.0, ebv=0.1): # Check Input Parameters if (mag > 26) or (mag < 8): @@ -967,24 +973,23 @@ class StellarContinuum(): print("Notice: Your input median metallicity (feh) is beyond the range of stellar template [-2.32, 0.22], which will be automatically adjusted to the upper limit.") if (feh < -2.32): raise Exception('Your input median metallicity (feh) is beyond the range of stellar template [-2.32, 0.22]') - #if (ebv < 0): + # if (ebv < 0): # ebv = 0 # print('Notice: Your input dust extinction (ebv) is < 0 mag, which will be automatically adjusted to 0 mag. ') - # ----------------- # Stellar Continuum SSP_temp = template.templates # Select metal bins - metals = template.metal_grid[0,:] + metals = template.metal_grid[0, :] minloc = np.argmin(abs(feh - metals)) tpls = SSP_temp[:, :, minloc] - fmass = template.fmass_ssp()[:, minloc] + # fmass = template.fmass_ssp()[:, minloc] # Select age bins - Ages = template.age_grid[:,0] - minloc = np.argmin(abs(age-Ages)) + Ages = template.age_grid[:, 0] + minloc = np.argmin(abs(age - Ages)) Stellar = tpls[:, minloc] wave = np.exp(template.log_lam_temp) @@ -993,7 +998,7 @@ class StellarContinuum(): sigma_gal = vdisp / template.velscale # in pixel sigma_LSF = template.LSF / template.velscale # in pixel - if sigma_gal>0: + if sigma_gal > 0: sigma_dif = np.zeros(len(Stellar)) idx = (sigma_gal > sigma_LSF) sigma_dif[idx] = np.sqrt(sigma_gal ** 2. - sigma_LSF[idx] ** 2.) @@ -1007,7 +1012,7 @@ class StellarContinuum(): # Dust Reddening if np.isscalar(ebv): - flux0 = reddening(wave, flux0, ebv = ebv) + flux0 = reddening(wave, flux0, ebv=ebv) # Redshift redshift = vel / 3e5 @@ -1027,6 +1032,7 @@ class StellarContinuum(): # Single Star Spectra ##################### + class SingleStarTemplate(): """ Class of single stellar template @@ -1038,18 +1044,18 @@ class SingleStarTemplate(): velscale : float, option velocity scale in km/s per pixels, by default 20.0km/s """ - def __init__(self, config, velscale = 20): + def __init__(self, config, velscale=20): FWHM_inst = config.inst_fwhm filename = data_path + '/data/Starlib.XSL.fits' hdulist = fits.open(filename) - lam = hdulist[1].data['Wave'] + lam = hdulist[1].data['Wave'] flux = hdulist[2].data - par = hdulist[3].data + par = hdulist[3].data lam_range_temp = np.array([3500, 12000]) - TemNew, log_lam_temp = log_rebin(lam_range_temp, flux[1, :], velscale = velscale)[:2] + TemNew, log_lam_temp = log_rebin(lam_range_temp, flux[1, :], velscale=velscale)[:2] # FWHM of XLS templates Temp_wave = np.exp(log_lam_temp) @@ -1057,18 +1063,18 @@ class SingleStarTemplate(): Temp_FWHM[(Temp_wave < 5330)] = 13 * 2.35 / 3e5 * Temp_wave[(Temp_wave < 5330)] # sigma = 13km/s at lambda <5330 Temp_FWHM[(Temp_wave >= 5330) & (Temp_wave < 9440)] = 11 * 2.35 / 3e5 * Temp_wave[(Temp_wave >= 5330) & (Temp_wave < 9440)] # sigma = 13km/s at 5330 < lambda < 9440 - Temp_FWHM[(Temp_wave >= 9440)] = 16 * 2.35 / 3e5 * Temp_wave[(Temp_wave >= 9440)] # sigma=16km/s at lambda > 9440 + Temp_FWHM[(Temp_wave >= 9440)] = 16 * 2.35 / 3e5 * Temp_wave[(Temp_wave >= 9440)] # sigma=16km/s at lambda > 9440 LSF = Temp_FWHM FWHM_eff = Temp_FWHM.copy() # combined FWHM from stellar library and instrument(input) if np.isscalar(FWHM_inst): FWHM_eff[Temp_FWHM < FWHM_inst] = FWHM_inst - LSF[Temp_FWHM < FWHM_inst] = FWHM_inst + LSF[Temp_FWHM < FWHM_inst] = FWHM_inst else: FWHM_eff[Temp_FWHM < FWHM_inst] = FWHM_inst[Temp_FWHM < FWHM_inst] - LSF[Temp_FWHM < FWHM_inst] = FWHM_inst[Temp_FWHM < FWHM_inst] - FWHM_dif = np.sqrt(FWHM_eff ** 2 - Temp_FWHM ** 2) + LSF[Temp_FWHM < FWHM_inst] = FWHM_inst[Temp_FWHM < FWHM_inst] + FWHM_dif = np.sqrt(FWHM_eff ** 2 - Temp_FWHM ** 2) sigma_dif = FWHM_dif / 2.355 / (lam[1] - lam[0]) # Sigma difference in pixels temp = np.empty((TemNew.size, par.size)) @@ -1080,16 +1086,16 @@ class SingleStarTemplate(): temp1 = gaussian_filter1d(temp0, sigma_dif) # convolution with variable sigma tempNew = temp1 / np.mean(temp1) temp[:, i] = tempNew - - self.templates = temp + self.templates = temp self.log_lam_temp = log_lam_temp self.teff_grid = par['Teff'] - self.feh_grid = par['FeH'] + self.feh_grid = par['FeH'] self.logg_grid = par['logg'] - self.LSF = Temp_FWHM - self.velscale = velscale + self.LSF = Temp_FWHM + self.velscale = velscale + class SingleStar(): """ @@ -1113,7 +1119,7 @@ class SingleStar(): Dust extinction, by default 0.1 """ - def __init__(self, config, template, mag = 15.0, teff = 10000.0, feh = 0.0, vel = 100.0, ebv = 0.0): + def __init__(self, config, template, mag=15.0, teff=10000.0, feh=0.0, vel=100.0, ebv=0.0): # Check Input Parameters if (mag > 26) or (mag < 8): @@ -1130,7 +1136,6 @@ class SingleStar(): if (feh < -2.69): raise Exception('Your input metallicity (feh) is beyond the range of stellar template [-2.69, 0.81]') - StarTemp = template.templates # Select metal bins @@ -1139,14 +1144,14 @@ class SingleStar(): # Select Teff bins Teff_FeH = template.teff_grid[idx_FeH] - minloc = np.argmin(abs(teff - Teff_FeH)) + minloc = np.argmin(abs(teff - Teff_FeH)) starspec = tpls[:, minloc] wave = np.exp(template.log_lam_temp) # Dust Reddening if np.isscalar(ebv): - starspec = reddening(wave, starspec, ebv = ebv) + starspec = reddening(wave, starspec, ebv=ebv) # Redshift redshift = vel / 3e5 diff --git a/tests/__pycache__/test_cube3d.cpython-312-pytest-7.4.4.pyc b/tests/__pycache__/test_cube3d.cpython-312-pytest-7.4.4.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c42ef063619d2b45aedb9f89196f88dc6187ea3f GIT binary patch literal 4196 zcmeHKO>7&-6`uX!a`-1o6h%>yQ&X{{m@FRPpnw=vU?G^W*}iAqXnX-@XdwPOHO^WFKI2LBnYe;rZBN;2M%**z?O}fO@aO@eSS9V=JfRG+w z5%fLU>|>*)I$+QwGs#5V4{7^ii5(n_GDI*6O5%_V$e~Gvmnjeu#kewDL-|}%O(kqi zl!7s>vK<1lfE3H5F;-?`oXk$67(dBHdEzk@!xU?ZO3%3?P{x51(eiRJs~8bA7qO-r zEKFL$gsqn9cEO+SZ+l#zQ;!d`s@`zIDqYl;P=OzFTZtPBEs_ zmSnJvnzYQwj%C62ktudpZ_8twJt-Q2%g!<`JIX@Ywd`A}`_z>CiO=r;UH~uB6I<)Q?*-w??Xgjl!YFsyv+TDc!IZb`&FpQ;ZB*vU>~eea#z3z=Th^p<$F6sApUuzgw^5VA z`2J?gMsfgt5J}%LOs6{U1WhI+cbE(!-eal2jZKI>3kug)!O)EeWF0HCoFs4IO zHS_K}ks7wj_9s!6u+k9WQ@SFjZvU2+&pxSxKilB5SEB-P8gX4srA;Da^C>B%5H6{t z33pA&62~=JH421N;@6@MBBZ5kAuSQMl-2_e&TLy`NULEk<)9Dq(OO&msC1C0V4HKo`(ZHohLU{UY{i-H4C+Fn28 zguO}PhDFlF!GRN|XwXE0rf`k&&tC#ZJ~r`9W&ZECr~mf*+uywZyRDDsCx(U&o|Oz! z&riTnXW$kX6Q{?<#wX%Z{$NTqClUr^g=*3eQ%X9YOHI(DGpxFvD?&axeHVh@42n^kE(bt0NUR2x6fXmx&E6{h2IQxt_KdR z1rFQ^t`w_*k&1IO)V&@WS_=)W1n-9qS3Fzo9ShER=OTa0S8;4$-#QMj;cyi{v)K_? z=$`Lh4BmRSB5dHcS^tc`ihDLYg9}IIk1W1&YovlVaQiy$S;IY5+}o=E;@F*F1x5|F z6pr87PlYeF6gEco?pg0WwAOoQW&geBSFgOeadh-va^u*kPy2Tq?4B#kDh}^p1Z(}D z-b7buL7W#q7+*PiFSPOEp^uJ!dU%IpLSszDy(1uB+w8fSb93XX(I4N7RlS!g%wMr< z)-&Vz;Kh%+E1oJoN!#uj_uNPo_icH6vxjF6&-E?z&-X6|7Ej%NYq5L&rTd=e{t*9T z^26kv%YS;~?i(v7SK=Rcten03tNZ=OzwjL2^mfc0ta>9m0px01ZM$5>S1iBz*_Zg| z+u&sABD{}S6mycMh$3-|V(t3{uvZk{DoWY9#3_n$J|T+wC=9xb^jCrCBebI523AGy zkadx!(LZ?Bfw%E-$9bmKlXjx>Xp))}#ptsH$BSwf9vp*sPZTD_Myp3GOwwyGNFOqt zJ|%;?^0uzROXX^?h|}h|VX$>;Bpn`)NrUhO$xIUg6vJqOi|~9>Iq^SsF?IS8q(^8) zKZ0}`#dZ3Y>jSi+Z>COj4dTcZwZf!6NO6ZInT2fL%&Kv?#uO2uPPsxBrh8k`a}W#- zg2!Rf(-JJgGS3M*nx~uB&j4&%?^}GlX7Ew{O%Tv;KZC}^M;ya2e?e#({o1{OxSRL} zzUjZ=pJV1;siN>#$o~Mn@BsB&^$TC2zyq}RYvkYIPch7SX70dxVBcC`-wv{xkIu1( d_f}$GaNQex$2;e4Ubu1L-CsQ75FfS{@-O=cg)IO8 literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_map2d.cpython-312-pytest-7.4.4.pyc b/tests/__pycache__/test_map2d.cpython-312-pytest-7.4.4.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bba01366d9257158d5a68282130eb697fe266e7 GIT binary patch literal 13113 zcmeHNYitzP6`tAW?8}eEV2F7v#$L0gICgNHG--Gx;nCQJU~18oo6XuYUhigKy|Z@k zc99a5DyFFf7C&sFw1J8iTegJrD{23PUlmoP%Jy!AH6d-K&>&0wkp}w5KT6NJGvi$^ zYws?Q5G1a&XYSm`x#!%ybI*6rxu4o>W(HF4Fz5UGCWiSEU(}>mGPk~g%m~9XJR4-( zEPZN1+8zzdgmi8_E7us@2Eh<0Q9Gxff%0@-%>fV1ghqZ-`kUM)DAfkdA&c8e%XE;p zxl5G#Qg<00xjbZduTsh?+!Y#TKf~)!GQ2@B1?pA)>F0!2&b!wLmAvtdtqeo#8V1@n zrrW5w2_?fagX|#d;^y(aJ+5hJaIum;v%0tJ+A|5Kylqh-T;*2jX+IKUDPA6#Qu;Ol+|(piDA0Qj@CY2{xww#qifoD1BHaqg0c# zRGU$XBhwV%)Liv%nH;Eg;tX_`=^0SOA_s!eEfay94VYEwte zwM>CinOdKIs+z`D?yFg;?;Fp+qO)Yoszv3xWUj3lrT449j<@BQ)s=O4*!q_|Q2q6M z>0PVp`>lW31J>WbmuG!d-*5fx4_tpEziP>@@-X$c=KlT%nL)-?(H`HueYxc55QymS zakNEvA?R4H)%FF}5np}SOT_0KMGi}N~Y8Mn)oir5Fkyl{LTclNkV>4m&S;pThiF#UDcLWNv@I3oIE z{z%xdC+rIf1O*1G$o3HAD(R!dAC5_ENYb~VA(qS{ofkBik|rFLv|@h<^@zH3l1>zY zy^_u!7Gsh@?1sWd<=G@6H#DyQ?Su^fT-R4a!#CeM`LEx;_to#-zwzhcuExgg`@CX| zM7luT0O%)nz1Y!lw5!`2+3xelx_U&g(*9o2;}iNKVP6+oZIM#hc7uIZOgSAmzB+Bz z8)%jmBPJ4cpyON2jncBy$4?!9H$J4h!P%xu4yU+RuXDDcp5K_^F<4vO1_Z&J`&%|=(46Bt!)0qhG{;`}DvD_o1y)9!-?q7R7U-C$4U;2QxH}IzK z&3~VXVlq}fMKNV7pcqG|5RCNrV}p5M48cQWyix`PM*zoAK%jP>zY4Vk9To(Sk_3Sb zTKj>J_qe1XF@gs;f~Iwz$J{C)i=e2Vgd+n2QK1U%t_#XQ2g5x?@z9t(l$mP4Cq4;|^qvr<`vLd9xadJQ!(gYnB-6xsI1v&t{xf{92 z<$mm@FUZxgyqzEI2IR6ATpe)22JCVuH+H$JRdINLx;k>=f%{~2p_<=*{ zP3R$yw16rEB4Z4B770Dj;g&~!hy;&rF7vYIF0vEqB`z58$~%<<`=n1`Id-ZtdaUw? zqy6B$Md{*I*$1tR%2D7a4g6MiiLfc%YQ#65R)D* zCShgX%l8vNZ(~-dk>s+30)w^7j+Mu^a*_~PCUzNCbj7+ z3hC%g9vuw{Lr#7W=e{R?#)L5^Ke$D(48I(^LV`_b68eN8p-t!##!2IZvLBw{^6V2_ z0I@|@Qg?$qeKmnKSsme3?MwF?MaI(f%Oyw6-nrnI6EF z4kY+-OIpy0{1{(fLDGt(4G5fD(r#5fjigEj*+D9CRB@0_GC*(ogh`=Km4`4NizlMEGaEDHZubXZEB^Z~XKh*eh;i6Bsyk~N z($8@=*(aOgp16?}w>@2Ysx-x|yRoWbns5N+Xlv3 zg5l$7d-XMY{fr$V$lE5#<$>{mDd8jkhyLV~yJs!C!6`g#uT5E<3c8`Koilc4(o#41 z)a91(mMP~)^&i$Jx4kfHd4aZermS_}RqL%Y_N_^aYx2nD&hgHv10S`1*qYqFXV$WZ zO0qR&brmj2?PpdeMsauE?e@iB21RCnfzZKYWCpW=(O~8L#4ve~)Wb(+%OfeoQHDvw zgo2z;81vX-<9CLmjH>0zi=&L+8ICF(+ZpczM-_)z3deTFz`f(B;xJ3$*v=Sm;McS? zssDVQwU{4oW@45MY)3JRwVk{K!;+Vg>_dW(gzN_b_s9%=-e9!PD{10=S(ZD#`T(s0 zE1HQZ;uQd34rQYcatL`IM$(Rq%L{=Rwu6zdKQ8e5y<*!EY|({$97t&J_Gg&Of)!i_ ztT4$sfS}|kHvI_@bT#-Q2qwreeAW8AqKMnO0v#MOcBqh@46+;^XhT86rfkpvm)uZL zwZW&rNBs3&XrW^D$o}E|qc5Fp8#2vt<=43NGu(Q(+my?OuZR|M!iZ6EteIX`YRtti zjV4M;Pe)EgM)|Ryetc}Mrhe+cm3;sPN?X|>?IIR9vt{X3GSg+-xGlN4W!BO{4XP_; ztykR~TSlD2&Ubgdf8>MCbDif8Txz}0n%vMdYiY_hy}%R#*zfLozx#vUbG_#~FS#$c zlN%dnEsfc50b06-T}jLOi<(P@3x@N@FC{J{l8)wCOLLJ-Ra@RfZF#%PEO8!B*c%c& z9?9(S$XD?pZ}oV7-tP@6HAatzkMwvv#0h^SX-2XO$zCLGB;7#98OoF{6oPhx5({KR z7m$<8e{>o>_YGI0-~7#M>_(tRSUGQj{1Y|$x?8R6CVidE1sR}lA+JB|@wnDWTz9`e z2&h(+th=Lwp2fFyp6DR1zXn*a0>SGP4Mcd8_+x@(S}c-`YMB{2)8*!s4HdyoWyj(jl!zz#z{SVq_cr%V>D#4e*fY&3X6@%p=@*Ri3#RUK#{LDf=}V^cw$7tv u>&~pbR$e_*UVWRvx3Bja8J%^=J*%yp)0Mw<;GMR&+kSNjaGq{072yB*GRMLI literal 0 HcmV?d00001 diff --git a/tests/__pycache__/test_spec1d.cpython-312-pytest-7.4.4.pyc b/tests/__pycache__/test_spec1d.cpython-312-pytest-7.4.4.pyc new file mode 100644 index 0000000000000000000000000000000000000000..031aeb3cad20ad7d1b708a7ee3fb292f129890bf GIT binary patch literal 23836 zcmeHPU2qh~cAou{M$$?v31P(lV1e<1B_t&AV-Vt3U@#bv{KFzxk9J1Viv5v$cL8nT zlzl^DsH6&bGI4HFxGGhKk{){ zSDMl8iovm}7^t3}(`U|{)BVlt=<756&(+nH9BhNP_#xLpj{5^1=$l8YJZ*Gv+~=Ic zNsb5?aL~Oo>Iyj>T+|)#IMkN1K$%=NQlp=2>__U1x?Tet&T*%Dq@7<8r~s)eQW>oZ zc&W?{_3A*4*6s_`(ks_R>jO(PSwo<~$;k~Pn{>OzUh>GV7*}v|hdHV2Dkqi86(cQ% zmR=ioskK0(yjBMgN{{4*vP|+oSw2?g zFITFPav~X2FOhDl6kzKEi4cuTsfe5q!ZAT@Y#AM+ts(tNcsU$tjPq%0EnYP_(>9`w z1S;v99_7c5q>cj^|8eac2ggXArc#%w)NLwdb<1@RMtHqu?61st@Ub&lrOQXWdd=8N zo{2KkYn7Wyc}8k@V1ni=jw?>7LaLOiBrp7{ny4Pv{QTI(^hr%g_I#%H+{u|cXQbYU zOs`#WjWpgRairJG zW0LBnB~ru0(s2!md0v>=cAMHZjahmHY%jC0y-N4X*h`HQ%S~fkW9aBLX@#`Xcm^^3 zxr(u1++C{~X)zdFQvic&OSET(>BWdafr;Bds~Jv8#o#&%oS4}z6@#x@*nUwMY+`!J zz~FjDS_}p&r492w2VX1M-o`oh79$2Bq{%K&zbXqt2v|r?m3ilpj{H-v^>49 z*>HXd z+UDkTHN*=_U9Bx`hsVhGU;Gtrzv)g_K^!PYY3|>_+q4%B!Ch4`U8x>nv!xrV3&-W8 z2xA)xC&w&1p1N_iN8WPe9C*@+9R=I(yVEt`h9+-j8vZGVB;2%DZK7UvPFK$yp=tpz z2=B>}_`E&=7_f6LcD1**wqA&CN#q{D%`;sM9$oC(rprc`!C?Fcb><@Yq3ce2@krM) z?IGGbx);JhK#)ula5I>9Qo0s=NrZ=@VprP^)t$eGtEOwg9aY@kNyXvwfZ5!CVw;aP zfFIf!hCtJ`>Lcpf!4wdUhb||>u@K&)=5DEdbm;Z{&F}dUL$rHl4%@$Pr`zN1+<(z7 zQd{VFwM~1OqjrCt;s_BpXepji5{@MmM?z`T9u)`TF>oW5iuTFTQFvs)%{LlJDrIor zr--c7&Q?>LF}NKQsi@)}jHE6r<%!h5Xe6Fg+-iAAyeKPW5qU_CNs9Y&Bpg+|$?(u{ zG8hrZ;;H04kK#_qkwL{BjwRr%BwQ9HQX4I|Ch#{K$ynik-iMm>X8#|r-TMBEtN->l zU;OcJfBoG*-s*2{ZSD~hNfPgeyMIIuB@_JzdVBl&2gG>uP&nBiN&v4L9!vy>6KKVF}|}JkuXgB132~x_noiy#^vjm{~~?O{T*MO zsX3M9Pk+Nyu7&=xk{++g@@t`j$8gTqKK~=1|L*$7zAboS)s4#QmAAJ~@lC9eYa>~H z`8TM%?vZcZo%MI!_xC>#AAXcM*_%1{VP-g-^^II}qtW6NtEz8oyT0w_`p^Bh{Ew?v z{hjlxvMqqZ@hIko3mcw8?W!ivFpcfyRzO@SU+<8$j!db&)hn5 z$Ng2smlgN7J#Mom_!#0FQ{MNVBSdl1mFayi^I<4+ zA(Hh)X^5E`ijg_vot&llv&FbYi+_Q`NJpnHb6(7ZN3y;P>M)v(_guxFEyR{7@0sF; zF;gRC`E_#=(8;@l@YeBi@-A-za$%EqICZD}S#87A9cyhd z{*nB0;tp>)ZTnd!?pVaIQ^yONwqva=M*O{;w9~-{drSP;IcdithQ;5)rtDa2ixGb> zC+v#BpPdtSEMi#vEo{1uwYC`X_j0n%8h`M{t8OELUNiRNS~c&Du;8Q~5Zaw5ruUlg z%O#0S`0QSwts^pJr-fcf222uhUOt=Pn?1qYJc4l&%sC^FpvMu+{-U&VxOOAdkRv8b zpzwPLCVn9gH8@Bx3yT2j$dTn(U{V!Xi3Ls+E7^;pMLr&?WJ_DCdy5MTJHC#OZi=0HC=^lucl;0s#pPoI-7z}(q1zhQd^||;q}>ePnCG;FeAc=1Szj=Z z=E>6uWlr^F`p;#3=RwET$hxPzXDwK)$wCZ|!M^JxR-V)1WHNKMKkGZE#udx*tAWkS zS3zc7*ReIO`9`dH%KO257j3qKlQyqABKD z>U_a;^zsRorNRj#x=9sGa)KePWTYBL#c^gISI~5HOhvDjY9!x8ttq3$ayx~s)tgxR z<-AcZVR{DNm*_TPmWtkBs`Ca~x(O)Bo}i`&X_2kM zCZSDkZrd)%WN1rbODKANYYv&&98iBhQSLQ&84k&2DEuC!Y?xj`aYy1qX_bRT2v8z6 z-2_Y_W4zPUIP#2?s3ohhwgC$yYSR_yHjs#&ttwrMukT`GDYux9N!jMK51CR;gh{lNKP7LVFJ4xjuF#KKEye{qocdElqAh91Zon_^ zNhcOaACoOu?7(6t6y{f<7brG`mdT*))Dn81L8>g1K?^iA=J^u%8k$L-)s&6oSzT>6 zI@g889xS@C*oDPDEcRm|L6P2VM&>g2#zL6fhC|VC0<(qR4##9OF89b=Zv{`wL!j~e zTrQu)JX8Qyx`EbMDi@@`fglqP+|R}2Zg}L|a7Vg-DC>LEg3F~Dn(bM>gCWT7*FV_* zFoday=f$jVK%+eiD%r-OVbbO1Derq`>>%c&?kX-J6GFQ-i~57e_C4&SwC9IepQuH) zHp>h7;U9#Y&38Y5oXxCHvXl43$aHSgEYr4x$h71=oz$dbCT05Ghg{mMFQgKm1$As2 zG8~rqh)+G}0{NvBjau?$USxC7SWwB%(CkUML_C^}$gJ23>)09EbB&rcUH$eHe|#=o zT?3CantXX1UYuUi)zBNTgblNv#X{(6N?1#^QXQ`DG0`xN-&etwmx{U6c)d&(`-h8a z_mw$ze>s0bFJqztJgJ*0h23bXY4&GEX%r5uO9Irf_8Jc(X?S5~yA%p%HKeYsv9N9S zC(POjmTETqFr%>7Nw1nx*mfkv;n&;MD(zeVlclA{;c6Dvb{8WiS!&i8FEiYfib=l( zZp>_#ipfnDwqFz`?MRfvRV}Qsv+$I;DtO{r+g*&9WJz3mG1+Q?8#^%BW?}n9VUnex z4GM>)X-oT!o&UGHv=ubeDQx4Npfm5CU@>BnC3fw_Gpvr}_FH^X5LGe7;6O4-10 z6mt8N3R#kZ1XoQ^yebVev%@|L4umhzU08x}7} zrg7Z@bg(15_t(&Z!%u=(;ES0`QI@BXC~VnklXwaMFPr+sp@Wna1y+(cogCd}0L?js+9i|GmwgMXl{S3$>|HpD9) zk|fC6O~Tp}!fEVH3opQrdhi3ZRW-aqORGAF+z;L9dhmyBgiqj!i0;&Ylp0pg$U8=* z-Pov+s7t-KGZ}Pu6dIuw?RJMwFhc6zI*1&c4a5l5Z@~OoTaIa?hru@j;3k`XursR|C3_Wv9 z|LoZ$_RP_MmTFo!_!;u8lu_47y`s;tGxQfk;2oUe4^aZ|gr8UVU@!)YfkF!)hQjA$+8!Jrfm1%o7jPeOc@lN1)8LUE6yrf3Q~DMu+5$W$e8s_rWH-)^Ue z|B>%^cvk-SC(a&+=al2elg2atQ@H})UDu!dhpns*p52V5oSj8lv zc=wKu1!s+nR;2|q_X)1F(n91*Bn*q3RLqE!a$QylC(}t7k-!QkV+mN&L`)9D zqSG-vTj5ji(Ezq9zFA9*5acuIX8`I~0SC}QPb?K39iu-2N?lY;;_@hw@Bl16LKjLY zQ}^^YL*XxpBnH2k5I`af%dp6U5RXh0-)T7!Pmz%PzS^$veQ^B)FaxRf;IHsPZtMs0 z=ja0F2Gb6n=69<@w1@mP$l!;9OW;q`4=#tp0pDj_<^Htt3FrEZ|CImC_o?ru<7P*e zYy2JO`tEM5J*sbd m#?iwcda5|L_gdh$u4PZ$b)Ovh?D(h0|LmO~T%5a+I`w~%S(pL< literal 0 HcmV?d00001 -- GitLab