#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Mar 21 09:56:44 2023

@author: hezhihong
"""
import numpy as np
import pandas as pd
#############################
col=['rgc','inc1','disp_inc1','theta_z0','disp_theta_z0','phi_lon','disp_phi_lon','err_phi_lon',\
     'wz_p','disp_wz_p','err_wz_p','wz_n','disp_wz_n','err_wz_n','inc','disp_inc','dz0','disp_dz0']
#### 
vals=[]
for rgc in np.arange(4,14.1,0.5):
    ####
    df0=pd.read_csv('./files/inc_pre_nut_'+str(rgc)+'kpc.csv')
    df=df0
    inc1=np.median(df.inc1.values)
    disp_inc1=1.4826*np.median(abs(df.inc1.values-np.median(df.inc1.values)))
    theta_z0=np.median(df.theta_z0.values)
    disp_theta_z0=1.4826*np.median(abs(df.theta_z0.values-np.median(df.theta_z0.values)))
    #### dispersion: 1.4826*MAD(same to Cantat-Gaudin+2020)
    ####
    df=df0[abs(df0.wz_p)<99]
    if len(df)<3:
        phi_lon='';phi_lon='';err_phi_lon=''
        wz_p='';disp_wz_p='';err_phi_lon=''
    else:
        phi_lon=np.median(df.phi_lon.values)
        disp_phi_lon=1.4826*np.median(abs(df.phi_lon.values-np.median(df.phi_lon.values)))
        err_phi_lon=np.median(df.disp_phi_lon.values)
        ####
        wz_p=np.median(df.wz_p.values)
        disp_wz_p=1.4826*np.median(abs(df.wz_p.values-np.median(df.wz_p.values)))
        err_wz_p=np.median(df.disp_wz_p.values)
    ####
    df=df0[abs(df0.wz_n)<.99]
    if len(df)<3:
        wz_n='';disp_wz_n='';err_wz_n=''
    else:
        wz_n=np.median(df.wz_n.values)
        disp_wz_n=1.4826*np.median(abs(df.wz_n.values-np.median(df.wz_n.values)))
        err_wz_n=np.median(df.disp_wz_n.values)
    ####
    df=df0[abs(df0.inc)<10]
    if len(df)<3:
        inc='';disp_inc=''
    else:
        inc=np.median(df.inc.values)
        disp_inc=1.4826*np.median(abs(df.inc.values-np.median(df.inc.values)))
    df=df0[abs(df0.dz0)<0.049]
    if len(df)<3:
        dz0='';disp_dz0=''
    else:
        dz0=np.median(df.dz0.values)
        disp_dz0=1.4826*np.median(abs(df.dz0.values-np.median(df.dz0.values)))
    ####
    vals+=[[rgc,inc1,disp_inc1,theta_z0,disp_theta_z0,phi_lon,disp_phi_lon,err_phi_lon,wz_p,disp_wz_p,\
            err_wz_p,wz_n,disp_wz_n,err_wz_n,inc,disp_inc,dz0,disp_dz0]]
    ####
####
df=pd.DataFrame(vals,columns=col)
df.to_csv('results.csv')





