date2 = date1 + relativedelta(days=8)
    elif L3_perid == 'monthly':
        date2 = date1 + relativedelta(months=1)

    date = (date1, date2, k)
    proc_dates.append(date)
    date1 = date2

#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*alldata.npy')))
print("len(fullnames): {}".format(len(fullnames)))

fullnames_dt = []
for fullname in fullnames:
    fullnames_dt.append(
        MODIS_hdf_utilities.fullname_to_datetime_for_L3_npyfile(fullname))

import pandas as pd

# Calling DataFrame constructor on list
df = pd.DataFrame({'fullname': fullnames, 'fullname_dt': fullnames_dt})
df.index = df['fullname_dt']
print("fullnames_dt:\n{}".format(fullnames_dt))
print("len(fullnames_dt):\n{}".format(len(fullnames_dt)))

for proc_date in proc_dates[:]:
    # proc_date = proc_dates[280]
    df_proc = df[(df['fullname_dt'] >= proc_date[0])
                 & (df['fullname_dt'] < proc_date[1])]
    if len(df_proc) == 0:
        print("There is no data in {0} - {1} ...\n"\
        elif L3_perid == 'weekly':
            date2 = date1 + relativedelta(days=8)
        elif L3_perid == 'monthly':
            date2 = date1 + relativedelta(months=1)

        date = (date1, date2, k)
        proc_dates.append(date)
        date1 = date2

#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*.hdf')))

fullnames_dt = []
for fullname in fullnames:
    fullnames_dt.append(
        MODIS_hdf_utilities.fullname_to_datetime_for_KOSC_MODIS_SST(fullname))

import pandas as pd

len(fullnames)
len(fullnames_dt)

# Calling DataFrame constructor on list
df = pd.DataFrame({'fullname': fullnames, 'fullname_dt': fullnames_dt})
df.index = df['fullname_dt']
df

for proc_date in proc_dates:

    df_proc = df[(df['fullname_dt'] >= proc_date[0])
                 & (df['fullname_dt'] < proc_date[1])]
while date2 < s_end_date :
    k += 1

    date2 = date1 + relativedelta(days=1)

    date = (date1, date2, k)
    proc_dates.append(date)
    date1 = date2

#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*.asc')))

fullnames_dt = []
for fullname in fullnames :
    fullnames_dt.append(MODIS_hdf_utilities.fullname_to_datetime_for_KOSC_AVHRR_SST_asc(fullname))

import pandas as pd 

len(fullnames)
len(fullnames_dt)

# Calling DataFrame constructor on list 
df = pd.DataFrame({'fullname':fullnames,'fullname_dt':fullnames_dt})
df.index = df['fullname_dt']
print("df:\n{}".format(df))

#proc_date = proc_dates[0]
for proc_date in proc_dates[:]:
    #proc_date = proc_dates[0]
    df_proc = df[(df['fullname_dt'] >= proc_date[0]) & (df['fullname_dt'] < proc_date[1])]
k=0
date1 = s_start_date
date2 = s_start_date

while date2 < s_end_date :
    k += 1
    date2 = date1 + relativedelta(days=1)
    date = (date1, date2, k)
    proc_dates.append(date)
    date1 = date2

fullnames = []
for dirName in base_dir_names :
    try :
        fullnames.extend(MODIS_hdf_utilities.getFullnameListOfallFiles("{}{}/".format(dirName, str(year))))
    except Exception as err :
        #MODIS_hdf_utilities.write_log(err_log_file, err)
        print(err)
        continue
import pandas as pd 
df = pd.DataFrame({'fullname':fullnames})

df = df[df.fullname.str.contains(".hdf")]

for idx, row in df.iterrows():
    print(row["fullname"])
    df.at[idx, "fullname_dt"] = MODIS_hdf_utilities.fullname_to_datetime_for_DAAC3K(df.loc[idx, "fullname"])   

df.index = df['fullname_dt']
print("df:\n{}".format(df))
    log_file = "AVHRR_{}_python.log".format(DATAFIELD_NAME)
    err_log_file = "AVHRR_{}_python_err.log".format(DATAFIELD_NAME)

#set directory
base_dir_name = '../L2_AVHRR_SST/'
save_dir_name = base_dir_name

#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*.asc')))

fullnames = fullnames[n * 100:(n + 1) * 100]

fullnames_dt = []
for fullname in fullnames:
    fullnames_dt.append(
        MODIS_hdf_utilities.fullname_to_datetime_for_KOSC_AVHRR_SST_asc(
            fullname))

import pandas as pd

len(fullnames)
len(fullnames_dt)

# Calling DataFrame constructor on list
df = pd.DataFrame({'fullname': fullnames, 'fullname_dt': fullnames_dt})
df.index = df['fullname_dt']
df

process_Num = 0
for fullname in df["fullname"]:

    fullname_el = fullname.split("/")
    #if os.path.exists('{0}_mean.npy'.format(fullname[:-4])) :
    #    print('{0}_mean.npy is already exist...'.format(fullname[:-4]))
    nc_data = NetCDFFile(
        fullname)  # note this file is 2.5 degree, so low resolution data
    lat = nc_data.variables['latitude'][:]
    lon = nc_data.variables['longitude'][:]
    time = nc_data.variables['time'][:]
    MODIS_AOD = nc_data.variables['MODIS_AOD'][:]  # SST

    if False and os.path.exists("{0}{1}_{2}_hist.pdf"\
        .format(base_dir_name, fullname_el[-1][:-4], DATAFIELD_NAME)) :
        print("{0}{1}_{2}_hist.pdf is already exist..."\
              .format(save_dir_name, fullname_el[-1][:-4], DATAFIELD_NAME))
    else:
        try:
            plt_hist = MODIS_hdf_utilities.draw_histogram_SST_NC(
                MODIS_AOD, lon, lat, fullname, DATAFIELD_NAME)
            plt_hist.savefig('{0}_hist.pdf'.format(fullname[:-3]))
            print('{0}_hist.pdf is created...'.format(fullname[:-3]))
            plt_hist.close()
        except Exception as err:
            MODIS_hdf_utilities.write_log(err_log_file, err)
            continue

    if False and os.path.exists('{0}_map.png'.format(fullname[:-3])):
        print('{0}_map.png is already exist'.format(fullname[:-3]))

    else:

        try:

            plt_map = MODIS_hdf_utilities.draw_map_SST_nc(
    elif L3_perid == 'weekly':
        date2 = date1 + relativedelta(days=8)
    elif L3_perid == 'monthly':
        date2 = date1 + relativedelta(months=1)

    date = (date1, date2, k)
    proc_dates.append(date)
    date1 = date2

#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*alldata.npy')))
print("len(fullnames): {}".format(len(fullnames)))

fullnames_dt = []
for fullname in fullnames :
    fullnames_dt.append(MODIS_hdf_utilities.fullname_to_datetime_for_L3_npyfile(fullname))

import pandas as pd

# Calling DataFrame constructor on list
df = pd.DataFrame({'fullname': fullnames, 'fullname_dt': fullnames_dt})
df.index = df['fullname_dt']
print("fullnames_dt:\n{}".format(fullnames_dt))
print("len(fullnames_dt):\n{}".format(len(fullnames_dt)))

for proc_date in proc_dates[:]:
# proc_date = proc_dates[55]
    df_proc = df[(df['fullname_dt'] >= proc_date[0]) & (df['fullname_dt'] < proc_date[1])]
    if len(df_proc) == 0 :
        print("There is no data in {0} - {1} ...\n"\
                  .format(proc_date[0].strftime('%Y%m%d'), proc_date[1].strftime('%Y%m%d')))
예제 #8
0
# long file option
add_log = True
if add_log == True :
    log_file = "AVHRR_{}_python.log".format(DATAFIELD_NAME)
    err_log_file = "AVHRR_{}_python_err.log".format(DATAFIELD_NAME)


#### make dataframe from file list
fullnames = sorted(glob(os.path.join(base_dir_name, '*.hdf')))

fullnames = fullnames[n*100:(n+1)*100]

fullnames_dt = []
for fullname in fullnames :
    fullnames_dt.append(MODIS_hdf_utilities.fullname_to_datetime_for_KOSC_MODIS_hdf(fullname))


if not os.path.exists(save_dir_name):
    os.makedirs(save_dir_name)
    print ('*'*80)
    print (save_dir_name, 'is created')
else :
    print ('*'*80)
    print (save_dir_name, 'is exist')


fullnames_dt = []
for fullname in fullnames :
    fullnames_dt.append(MODIS_hdf_utilities.fullname_to_datetime_for_KOSC_MODIS_SST(fullname))
        print(
            "len(argv) > 2\nPlease input L3_perid and year \n ex) aaa.py 0.1 2016"
        )
        sys.exit()
    else:
        L3_perid, resolution, year = "daily", float(argv[1]), int(argv[2])
        print("{}, {}, processing started...".format(argv[1], argv[2]))
else:
    L3_perid, resolution, year = "daily", 0.5, 2000

#set directory
base_dir_name = "../DAAC_MOD04_L2/"

#fullnames = sorted(glob(os.path.join(base_dir_name, '*.hdf')))

fullnames = MODIS_hdf_utilities.getFullnameListOfallFiles(base_dir_name)

len(fullnames)

for fullname in fullnames:
    #fullname = df["fullname"][0]
    fullname_el = fullname.split("/")
    filename_el = fullname_el[-1].split(".")
    print("Reading hdf file {0}\n".format(fullname))
    try:
        if filename_el[-1] == "hdf":
            if filename_el[0] == "MOD04_3K":
                save_filename = r"../Aerosol/MODIS Terra C6.1 - Aerosol 5-Min L2 Swath 3km/{}/{}/{}".format(
                    filename_el[1][1:5], filename_el[1][5:8], fullname_el[-1])
                if not os.path.exists(
                        r"../Aerosol/MODIS Terra C6.1 - Aerosol 5-Min L2 Swath 3km/{}/"
import MODIS_hdf_utilities

arg_mode = True
#arg_mode =  False

log_file = os.path.basename(__file__)[:-3] + ".log"
err_log_file = os.path.basename(__file__)[:-3] + "_err.log"
print("log_file: {}".format(log_file))
print("err_log_file: {}".format(err_log_file))

#set directory
base_dir_name = "../Aerosol/MODIS Aqua C6.1 - Aerosol 5-Min L2 Swath 3km/"

#### make dataframe from file list
fullnames = MODIS_hdf_utilities.getFullnameListOfallFiles(base_dir_name)

len(fullnames)

# Set Datafield name
DATAFIELD_NAME = "Optical_Depth_Land_And_Ocean"

result_filename = "hdf_file_info.csv"
for fullname in fullnames[:2]:
    #fullname = fullnames[0]
    fullname_el = fullname.split("/")
    filename_el = fullname_el[-1].split(".")
    print("Reading hdf file {0}\n".format(fullname))
    if filename_el[-1].lower() == "hdf":

        try: