def get_indices(self): import sys #sys.path.append("../indices/") from get_kpap import get_kpap self.kp, self.ap, self.f107, self.f107a, \ self.kp_daily, self.ap_daily, self.dst, self.ae = get_kpap(self.dn) return self
def get_indices(self): """ Retreives geophysical indices. """ self.kp, self.ap, self.f107, self.f107a, self.f107p, \ self.kp_daily, self.ap_daily, self.dst, self.ae \ = get_kpap(self.dn) return self
def get_apmsis(dn): """ Function: get_apmsis(dn) --------------------- returns an array of calculated ap indices suitable for MSIS. MSIS requires an array of ap values, described in nrlmsise00.f. This Python function formulates the various ap values for MSIS. From the fortran subroutine, we see that AP - MAGNETIC INDEX(DAILY) OR WHEN SW(9)=-1. : - ARRAY CONTAINING: (1) DAILY AP (2) 3 HR AP INDEX FOR CURRENT TIME (3) 3 HR AP INDEX FOR 3 HRS BEFORE CURRENT TIME (4) 3 HR AP INDEX FOR 6 HRS BEFORE CURRENT TIME (5) 3 HR AP INDEX FOR 9 HRS BEFORE CURRENT TIME (6) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 12 TO 33 HRS PRIOR TO CURRENT TIME (7) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 36 TO 57 HRS PRIOR TO CURRENT TIME Inputs: -------- dn : datetime object of the requested time Outputs: -------- out : a 1x7 array of the caclulated ap indices History: -------- 7/21/12 Created, Timothy Duly ([email protected]) """ out = float('nan') * np.zeros(7) # (1) DAILY AP _, ap, _, _, _, _, daily_ap, _, _ = get_kpap(dn) out[0] = daily_ap # (2) 3 HR AP INDEX FOR CURRENT TIME out[1] = ap # (3) 3 HR AP INDEX FOR 3 HRS BEFORE CURRENT TIME _, ap, _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-3)) out[2] = ap # (4) 3 HR AP INDEX FOR 6 HRS BEFORE CURRENT TIME _, ap, _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-6)) out[3] = ap # (5) 3 HR AP INDEX FOR 9 HRS BEFORE CURRENT TIME _, ap, _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-9)) out[4] = ap # (6) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 12 TO 33 HRS # PRIOR TO CURRENT TIME temp = np.zeros(8) _, temp[0], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-12)) _, temp[1], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-15)) _, temp[2], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-18)) _, temp[3], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-21)) _, temp[4], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-24)) _, temp[5], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-27)) _, temp[6], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-30)) _, temp[7], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-33)) out[5] = np.nan if all(np.isnan(temp)) else np.nanmean(temp) # (7) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 36 TO 57 HRS # PRIOR TO CURRENT TIME temp = np.zeros(8) _, temp[0], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-36)) _, temp[1], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-39)) _, temp[2], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-42)) _, temp[3], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-45)) _, temp[4], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-48)) _, temp[5], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-51)) _, temp[6], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-54)) _, temp[7], _, _, _, _, _, _, _ = get_kpap(dn + timedelta(hours=-57)) out[6] = np.nan if all(np.isnan(temp)) else np.nanmean(temp) return out
def get_indices(self): import sys #sys.path.append("../indices/") from get_kpap import get_kpap self.kp, self.ap, self.f107, self.f107a, \ self.kp_daily, self.ap_daily, self.dst = get_kpap(self.dn)
def get_apmsis(dn): """ Function: get_apmsis(dn) --------------------- returns an array of calculated ap indices suitable for MSIS. MSIS requires an array of ap values, described in nrlmsise00.f. This Python function formulates the various ap values for MSIS. From the fortran subroutine, we see that AP - MAGNETIC INDEX(DAILY) OR WHEN SW(9)=-1. : - ARRAY CONTAINING: (1) DAILY AP (2) 3 HR AP INDEX FOR CURRENT TIME (3) 3 HR AP INDEX FOR 3 HRS BEFORE CURRENT TIME (4) 3 HR AP INDEX FOR 6 HRS BEFORE CURRENT TIME (5) 3 HR AP INDEX FOR 9 HRS BEFORE CURRENT TIME (6) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 12 TO 33 HRS PRIOR TO CURRENT TIME (7) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 36 TO 57 HRS PRIOR TO CURRENT TIME Inputs: -------- dn : datetime object of the requested time Outputs: -------- out : a 1x7 array of the caclulated ap indices History: -------- 7/21/12 Created, Timothy Duly ([email protected]) """ out = float('nan')*np.zeros(7) # (1) DAILY AP tmp1, ap, tmp2, tmp3, tmp4, daily_ap, tmp5 = get_kpap(dn) out[0] = daily_ap # (2) 3 HR AP INDEX FOR CURRENT TIME out[1] = ap # (3) 3 HR AP INDEX FOR 3 HRS BEFORE CURRENT TIME tmp1, ap, tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-3)) out[2] = ap # (4) 3 HR AP INDEX FOR 6 HRS BEFORE CURRENT TIME tmp1, ap, tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-6)) out[3] = ap # (5) 3 HR AP INDEX FOR 9 HRS BEFORE CURRENT TIME tmp1, ap, tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-9)) out[4] = ap # (6) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 12 TO 33 HRS # PRIOR TO CURRENT TIME temp = np.zeros(8) tmp1, temp[0], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-12)) tmp1, temp[1], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-15)) tmp1, temp[2], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-18)) tmp1, temp[3], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-21)) tmp1, temp[4], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-24)) tmp1, temp[5], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-27)) tmp1, temp[6], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-30)) tmp1, temp[7], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-33)) out[5] = nanmean(temp) # (7) AVERAGE OF EIGHT 3 HR AP INDICIES FROM 36 TO 57 HRS # PRIOR TO CURRENT TIME temp = np.zeros(8) tmp1, temp[0], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-36)) tmp1, temp[1], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-39)) tmp1, temp[2], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-42)) tmp1, temp[3], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-45)) tmp1, temp[4], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-48)) tmp1, temp[5], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-51)) tmp1, temp[6], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-54)) tmp1, temp[7], tmp2, tmp3, tmp4, tmp5, tmp6 = get_kpap(dn+timedelta(hours=-57)) out[6] = nanmean(temp) return out