In [ ]:
from PyPDF2 import PdfFileMerger
from glob import glob
from natsort import natsorted, ns
import numpy as np
import shutil
import os

In [ ]:
# flights = ['20150617','20150620','20150701','20150702','20150706','20150709']
flights = ['20150617','20150702','20150709']

doVertProfs = True

if doVertProfs:
#     varStrs = ['ARatio','Dmm','Nt','RE','RH','RjcR','TWC','FL-RH-Temp','FL-Temp-Alt','FL-WS-Alt','FL-WS-Temp',
#               'ARatio-wAllSprls','Dmm-wAllSprls','Nt-wAllSprls','RE-wAllSprls','RH-wAllSprls','RjcR-wAllSprls',
#                'TWC-wAllSprls','FL-RH-Temp-wAllSprls','FL-Temp-Alt-wAllSprls','FL-WS-Alt-wAllSprls','FL-WS-Temp-wAllSprls']  
    varStrs = ['ARatio-wAllSprls','Dmm-wAllSprls','Nt-wAllSprls','RE-wAllSprls','RH-wAllSprls','RjcR-wAllSprls',
               'TWC-wAllSprls','FL-RH-Temp-wAllSprls','FL-Temp-Alt-wAllSprls','FL-WS-Alt-wAllSprls','FL-WS-Temp-wAllSprls'] 
else:
    varStrs = ['CIP_MD','CIP_MD','CIP_MD','CIP_MD-TempB',
               'CIP_ND','CIP_ND','CIP_ND','CIP_ND-TempB',
               'CIP-IWC-LWC-Temp','CIP_TWCextndRatio']

    dirStrs = ['CIP-MD_10s','CIP-MD-All_10s','CIP-MD-avg_10s','CIP-MD-TempBinned',
               'CIP-ND_10s','CIP-ND-All_10s','CIP-ND-avg_10s','CIP-ND-TempBinned',
               'CIP-IWC-LWC-Temp_10s','CIP-TWCextndRatio_10s']


    
if doVertProfs:
    for flight in flights:
        print('\nMerging plots for {}...'.format(flight))
        for varStr in varStrs:
            print('\tMerging {}...'.format(varStr))
            pdfDir = '/Users/danstechman/GoogleDrive/School/Research/PECAN/Microphysics/plots/vertical_profiles/{}'.format(flight)
            mvDir = pdfDir + '/' + varStr

            if not os.path.exists(mvDir):
                os.makedirs(mvDir)

            pdfList = natsorted(glob('{}/*{}_sprl*.pdf'.format(pdfDir,varStr)))

            merger = PdfFileMerger()
            for pdf in pdfList:
                merger.append(pdf)
            merger.write('{}/{}_{}_All.pdf'.format(pdfDir,flight,varStr))
            for f in pdfList:
                shutil.move(f,mvDir)

else:
    for flight in flights:
        print('\nMerging plots for {}...'.format(flight))
        for varStr,dirStr in zip(varStrs,dirStrs):
            print('\tMerging {}...'.format(dirStr))
            pdfDir = '/Users/danstechman/GoogleDrive/School/Research/PECAN/Microphysics/plots/{}/CIP-Ext/{}'.format(flight,dirStr)
            mvDir = pdfDir + '/IndvFiles'

            if not os.path.exists(mvDir):
                os.makedirs(mvDir)

            if flight == '20150617':
                numSprls = 7
            if flight == '20150620':
                numSprls = 7
            if flight == '20150701':
                numSprls = 1
            if flight == '20150702':
                numSprls = 3
            if flight == '20150706':
                numSprls = 8
            if flight == '20150709':
                numSprls = 16

            if dirStr in ['CIP-ND-TempBinned','CIP-MD-TempBinned']:
                for ix in range(1,numSprls+1):
                    pdfList = natsorted(glob('{}/*S{:02d}_*degC.pdf'.format(pdfDir,ix)))
                    # pdfListZ = natsorted(glob('{}/*S{:02d}_*_zoom.pdf'.format(pdfDir,ix)))

                    merger = PdfFileMerger()
                    for pdf in pdfList:
                        merger.append(pdf)
                    merger.write('{}/{}_{}_S{:02d}.pdf'.format(pdfDir,flight,varStr,ix))
                    for f in pdfList:
                        shutil.move(f,mvDir)

                    # mergerZ = PdfFileMerger()
                    # for pdfZ in pdfListZ:
                    #     mergerZ.append(pdfZ)
                    # mergerZ.write('{}/{}_{}_S{:02d}_zoom.pdf'.format(pdfDir,flight,varStr,ix))
                    # for fZ in pdfListZ:
                    #     shutil.move(fZ,mvDir)

            if dirStr in ['CIP-ND-All_10s','CIP-MD-All_10s']:
                for ix in range(1,numSprls+1):
                    pdfList = natsorted(glob('{}/*S{:02d}_*.pdf'.format(pdfDir,ix)))
                    # pdfListZ = natsorted(glob('{}/*S{:02d}_*_zoom.pdf'.format(pdfDir,ix)))

                    merger = PdfFileMerger()
                    for pdf in pdfList:
                        merger.append(pdf)
                    merger.write('{}/{}_{}_S{:02d}.pdf'.format(pdfDir,flight,varStr,ix))
                    for f in pdfList:
                        shutil.move(f,mvDir)

                    # mergerZ = PdfFileMerger()
                    # for pdfZ in pdfListZ:
                    #     mergerZ.append(pdfZ)
                    # mergerZ.write('{}/{}_{}_S{:02d}_zoom.pdf'.format(pdfDir,flight,varStr,ix))
                    # for fZ in pdfListZ:
                    #     shutil.move(fZ,mvDir)


            if dirStr in ['CIP-ND-avg_10s','CIP-MD-avg_10s']:
                pdfList = natsorted(glob('{}/*S[0-1][0-9].pdf'.format(pdfDir)))
                pdfListZ = natsorted(glob('{}/*S[0-1][0-9]_zoom.pdf'.format(pdfDir)))

                merger = PdfFileMerger()
                for pdf in pdfList:
                    merger.append(pdf)
                for pdfZ in pdfListZ:
                    merger.append(pdfZ)
                merger.write('{}/{}_{}_SprlAvg_All.pdf'.format(pdfDir,flight,varStr))
                for f in pdfList:
                    shutil.move(f,mvDir)
                for fZ in pdfListZ:
                    shutil.move(fZ,mvDir)

            if dirStr in ['CIP-ND_10s','CIP-MD_10s']:
                pdfListA = natsorted(glob('{}/*S[0-1][0-9]_all.pdf'.format(pdfDir)))
                pdfListAZ = natsorted(glob('{}/*S[0-1][0-9]_all_zoom.pdf'.format(pdfDir)))

                mergerA = PdfFileMerger()
                for pdfA in pdfListA:
                    mergerA.append(pdfA)
                for pdfAZ in pdfListAZ:
                    mergerA.append(pdfAZ)
                mergerA.write('{}/{}_{}_SepPSDs_All.pdf'.format(pdfDir,flight,varStr))
                for fA in pdfListA:
                    shutil.move(fA,mvDir)
                for fAZ in pdfListAZ:
                    shutil.move(fAZ,mvDir)


            if dirStr in ['CIP-IWC-LWC-Temp_10s','CIP-TWCextndRatio_10s']:
                pdfList = natsorted(glob('{}/*{}*.pdf'.format(pdfDir,varStr)))

                merger = PdfFileMerger()
                for pdf in pdfList:
                    merger.append(pdf)
                merger.write('{}/{}_{}_All.pdf'.format(pdfDir,flight,varStr))
                for f in pdfList:
                    shutil.move(f,mvDir)