def tum_uevcb_eak(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False): """ İlgili tarih aralığı için Emre Amade Kapasite (EAK) girebilecek olan tüm organizasyonların uzlaştırmaya esas veriş-çekiş birimlerinin saatlik KGUP bilgilerini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- KGÜP Girebilen Organizasyonların UEVCB KGUP Değerleri (Tarih, Saat, KGUP) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): org_uevcb = tum_organizasyonlar_veris_cekis_birimleri() list_org_uevcb = org_uevcb[["Org EIC Kodu", "UEVÇB EIC Kodu", "UEVÇB Adı"]].to_dict("records") list_org_uevcb_len = len(list_org_uevcb) list_date_org_uevcb_eic = list( zip([baslangic_tarihi] * list_org_uevcb_len, [bitis_tarihi] * list_org_uevcb_len, list_org_uevcb)) list_date_org_uevcb_eic = list(map(list, list_date_org_uevcb_eic)) with __Pool(__mp.cpu_count()) as p: list_df_unit = p.starmap(__eak_uevcb, list_date_org_uevcb_eic, chunksize=1) list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit)) df_unit = __red(lambda left, right: __pd.merge(left, right, how="outer", on=["Tarih", "Saat"], sort=True), list_df_unit) return df_unit
def tum_santraller_gerceklesen(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False): """ İlgili tarih aralığı için tüm lisanslı santrallerin gerçek zamanlı üretim bilgisini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Tüm lisanslı santrallerin gerçek zamanlı üretim Değerleri (Tarih, Saat, Santral Üretimleri) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): sant = __santraller.gercek_zamanli_uretim_yapan_santraller() list_sant = sant[["Id", "Kısa Adı"]].to_dict("records") list_sant_len = len(list_sant) list_sant = list( zip([baslangic_tarihi] * list_sant_len, [bitis_tarihi] * list_sant_len, list_sant)) list_sant = list(map(list, list_sant)) with __Pool(__mp.cpu_count()) as p: list_df_unit = p.starmap(__gerceklesen_santral, list_sant, chunksize=1) list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit)) df_unit = __red(lambda left, right: __pd.merge(left, right, how="outer", on=["Tarih", "Saat"], sort=True), list_df_unit) return df_unit
def tum_dagitimlar_profil_gruplari( tarih=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığı için Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan tüm organizasyonların saatlik KGUP bilgilerini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- KGÜP Girebilen Organizasyonların KGUP Değerleri (Tarih, Saat, KGUP) """ if __dogrulama.__tarih_dogrulama(tarih): dist = dagitim_bolgeleri() list_dist = list(dist["Id"]) org_len = len(list_dist) list_date_dist = list(zip([tarih] * org_len, list_dist)) list_date_dist = list(map(list, list_date_dist)) with __Pool(__mp.cpu_count()) as p: list_df_unit = p.starmap(profil_abone_grubu, list_date_dist, chunksize=1) list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit)) df_unit = __red( lambda left, right: __pd.merge( left, right, how="outer", on=["Id"], sort=True), list_df_unit) df_unit.columns = ["Id"] + list(dist["Dağıtım Şirket Adı"]) return df_unit
def tum_organizasyonlar_eak(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False): """ İlgili tarih aralığı için Emre Amade Kapasite (EAK) girebilecek olan tüm organizasyonların saatlik EAK bilgilerini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- EAK Girebilen Organizasyonların EAK Değerleri (Tarih, Saat, EAK) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): org = organizasyonlar() list_org = org[["EIC Kodu", "Kısa Adı"]].to_dict("records") org_len = len(list_org) list_date_org_eic = list(zip([baslangic_tarihi] * org_len, [bitis_tarihi] * org_len, list_org)) list_date_org_eic = list(map(list, list_date_org_eic)) with __Pool(__mp.cpu_count()) as p: list_df_unit = p.starmap(__eak, list_date_org_eic, chunksize=1) list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit)) df_unit = __red(lambda left, right: __pd.merge(left, right, how="outer", on=["Tarih", "Saat"], sort=True), list_df_unit) return df_unit
def uecm_donemlik_tedarik( baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığına tekabül eden uzlaştırma dönemleri için tedarik yükümlülüğü kapsamındaki dönemlik bazlı toplam Uzlaştırmaya Esas Çekiş Miktarı (UEÇM) bilgisini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Tedarik Yükümlülüğü Kapsamındaki UEÇM (Dönem, Tüketim) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): ilk = __dt.datetime.strptime(baslangic_tarihi[:7], '%Y-%m') son = __dt.datetime.strptime(bitis_tarihi[:7], '%Y-%m') date_list = [] while ilk <= son: date_list.append(ilk.strftime("%Y-%m-%d")) ilk = ilk + __rd.relativedelta(months=+1) with __Pool(__mp.cpu_count()) as p: df_list = p.map(__uecm_tedarik, date_list, chunksize=1) return __pd.concat(df_list, sort=False)
def serbest_tuketici_sayisi( baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığına tekabül eden uzlaştırma dönemleri için profil abone grubuna göre serbest tüketici hakkını kullanan serbest tüketici sayıları bilgisini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Profil Abone Grubuna Göre Serbest Tüketici Sayıları (Tarih, Aydınlatma, Diğer, Mesken, Sanayi, Tarimsal, Sulama, Ticarethane, Toplam) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): ilk = __dt.datetime.strptime(baslangic_tarihi[:7], '%Y-%m') son = __dt.datetime.strptime(bitis_tarihi[:7], '%Y-%m') date_list = [] while ilk <= son: date_list.append(ilk.strftime("%Y-%m-%d")) ilk = ilk + __rd.relativedelta(months=+1) with __Pool(__mp.cpu_count()) as p: df_list = p.map(__profil_serbest_tuketici_sayisi, date_list, chunksize=1) df_st = __pd.concat(df_list, sort=False) df_toplam = __serbest_tuketici_sayisi() return __pd.merge(df_st, df_toplam, how="left", on=["Dönem"])
def uecm_serbest_tuketici( baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığına tekabül eden uzlaştırma dönemleri için serbest tüketici hakkını kullanan serbest tüketicilerin saatlik Uzlaştırmaya Esas Çekiş Miktarı (UEÇM) bilgisini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Serbest Tüketici UEÇM (Tarih, Saat, Tüketim) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): ilk = __dt.datetime.strptime(baslangic_tarihi[:7], '%Y-%m') son = __dt.datetime.strptime(bitis_tarihi[:7], '%Y-%m') date_list = [] while ilk <= son: date_list.append(ilk.strftime("%Y-%m-%d")) ilk = ilk + __rd.relativedelta(months=+1) with __Pool(__mp.cpu_count()) as p: df_list = p.map(__uecm_serbest_tuketici, date_list, chunksize=1) return __pd.concat(df_list, sort=False)
def kurulu_guc(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığına tekabül eden aylar için EPİAŞ sistemine kayıtlı santrallerin toplam kurulu güç bilgisini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Kurulu Güç Bilgisi (Tarih, Kurulu Güç) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): ilk = __dt.datetime.strptime(baslangic_tarihi[:7], '%Y-%m') son = __dt.datetime.strptime(bitis_tarihi[:7], '%Y-%m') date_list = [] while ilk <= son: date_list.append(ilk.strftime("%Y-%m-%d")) ilk = ilk + __rd.relativedelta(months=+1) with __Pool(__mp.cpu_count()) as p: df_list = p.map(__kurulu_guc, date_list) return __pd.concat(df_list, sort=False)
def tum_santraller_veris_cekis_birimleri( tarih=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih için EPİAŞ sistemine kayıtlı tüm santrallerin altında tanımlanmış uzlaştırmaya esas veriş-çekiş birim (UEVÇB) bilgilerini vermektedir. Parametreler ------------ tarih : %YYYY-%AA-%GG formatında tarih (Varsayılan: bugün) Geri Dönüş Değeri ----------------- EPİAŞ Sistemine Kayıtlı Santraller ve UEVÇB Bilgileri("Santral Id, "Santral Adı", "Santral EIC Kodu", "Santral Kısa Adı", "UEVÇB Id", "UEVÇB Adı", "UEVÇB EIC Kodu") """ if __dogrulama.__tarih_dogrulama(tarih): list_santral = santraller()[["Id", "Adı", "EIC Kodu", "Kısa Adı"]].to_dict("records") santral_len = len(list_santral) list_date_santral_id = list(zip([tarih] * santral_len, list_santral)) list_date_santral_id = list(map(list, list_date_santral_id)) with __Pool(__mp.cpu_count()) as p: list_df_unit = p.starmap(__santral_veris_cekis_birimleri, list_date_santral_id, chunksize=1) return __pd.concat(list_df_unit).reset_index(drop=True)
def katilimci_sayisi(baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d")): """ İlgili tarih aralığına tekabül eden dönemler için EPİAŞ sistemine kayıtlı katılımcıların lisans tipine göre sayısını vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) Geri Dönüş Değeri ----------------- Katılımcı Sayısı """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): ilk = __dt.datetime.strptime(baslangic_tarihi[:7], '%Y-%m') son = __dt.datetime.strptime(bitis_tarihi[:7], '%Y-%m') date_list = [] while ilk <= son: date_list.append(ilk.strftime("%Y-%m-%d")) ilk = ilk + __rd.relativedelta(months=+1) with __Pool(__mp.cpu_count()) as p: df_list = p.map(__katilimci_sayisi, date_list) return __pd.concat(df_list, sort=False)
def tum_gorevli_tedarik_hacim( baslangic_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), bitis_tarihi=__dt.datetime.today().strftime("%Y-%m-%d"), rename_tr=False, hacim_tipi="NET"): """ İlgili tarih aralığı için tüm görevli tedarik şirketleri için saatlik net hacim bilgilerini vermektedir. Parametreler ------------ baslangic_tarihi : %YYYY-%AA-%GG formatında başlangıç tarihi (Varsayılan: bugün) bitis_tarihi : %YYYY-%AA-%GG formatında bitiş tarihi (Varsayılan: bugün) hacim_tipi : metin formatında hacim tipi ("NET", "ARZ", yada "TALEP") (varsayılan: "NET") Geri Dönüş Değeri ----------------- Tüm Organizasyonların Saatlik GÖP Hacmi (Tarih, Saat, Hacim) """ if __dogrulama.__baslangic_bitis_tarih_dogrulama(baslangic_tarihi, bitis_tarihi): org = __organizasyonlar() org = org[(org["Adı"].str.contains("K1")) | (org["Adı"].str.contains("K2")) | (org["Adı"].str.contains("K3"))].reset_index(drop=True) list_org = org[["EIC Kodu", "Kısa Adı"]].to_dict("records") org_len = len(list_org) list_date_org_eic = list( zip([baslangic_tarihi] * org_len, [bitis_tarihi] * org_len, list_org)) list_date_org_eic = list(map(list, list_date_org_eic)) with __Pool(__mp.cpu_count()) as p: if hacim_tipi.lower() == "net": list_df_unit = p.starmap(__organizasyonel_net_hacim, list_date_org_eic, chunksize=1) elif hacim_tipi.lower() == "arz": list_df_unit = p.starmap(__organizasyonel_arz_hacim, list_date_org_eic, chunksize=1) elif hacim_tipi.lower() == "talep": list_df_unit = p.starmap(__organizasyonel_talep_hacim, list_date_org_eic, chunksize=1) else: __logging.error( "Lütfen geçerli bir hacim tipi giriniz: Net, Arz, Talep", exc_info=False) list_df_unit = list(filter(lambda x: len(x) > 0, list_df_unit)) df_unit = __red( lambda left, right: __pd.merge( left, right, how="outer", on=["Tarih", "Saat"], sort=True), list_df_unit) return df_unit
def tum_organizasyonlar_veris_cekis_birimleri(): """ Kesinleşmiş Gün Öncesi Üretim Planı (KGÜP) girebilecek olan tüm organizasyon ve bu organizasyonların uzlaştırmaya esas veriş-çekiş birim (UEVÇB) bilgilerini vermektedir. Parametreler ------------ Geri Dönüş Değeri ----------------- KGÜP Girebilen Organizasyonlar ve UEVÇB Bilgileri(Org Id, Org Adı, Org EIC Kodu, Org Kısa Adı, Org Durum, UEVÇB Id, UEVÇB Adı, UEVÇB EIC Kodu) """ list_org = organizasyonlar()[["Id", "Adı", "EIC Kodu", "Kısa Adı", "Durum"]].to_dict("records") with __Pool(__mp.cpu_count()) as p: list_df_unit = p.map(__organizasyon_cekis_birimleri, list_org, chunksize=1) return __pd.concat(list_df_unit).reset_index(drop=True)