# Path: cis/exceptions.py
# class InvalidCommandLineOptionError(CISError):
#     pass
# 
# Path: cis/plotting/plot.py
# def format_units(units):
# def get_label(common_data, units=True):
# def _try_coord(data, coord_dict):
# def get_axis(d, axis, name=None):
# def set_x_axis_as_time(ax):
#     def format_datetime(x, pos=None):
# def _get_extent(ax):
# def _test_natural_earth_available():
# def drawcoastlines(ax, coastlinescolour):
# def drawbluemarble(ax):
# def get_best_map_ticks(ax, transform=None):
# def set_map_ticks(ax, xticks, yticks, transform=None):
# def add_color_bar(ax, mappable, vstep, logv, cbarscale, cbarorient, cbarlabel):
# def basic_plot(data, how=None, ax=None, xaxis=None, yaxis=None, projection=None, central_longitude=0.0,
#                label=None, *args, **kwargs):
# def multilayer_plot(data_list, how=None, ax=None, yaxis=None, layer_opts=None, *args, **kwargs):
# def taylor_plot(data_list, ax=None, layer_opts=None, *args, **kwargs):


import argparse
import re
import sys
import os.path
import logging
    import cis.plugin as plugin
    import cis.plugin as plugin
    import cis.plugin as plugin
from cis.exceptions import InvalidCommandLineOptionError
from cis.plotting.plot import plot_types, projections
    from cis.data_io.products.AProduct import AProduct
    from cis.parse_datetime import parse_as_number_or_datetime_delta, parse_as_number_or_datetime
    from matplotlib.colors import cnames
    from cis.data_io.data_reader import expand_filelist
    from cis.data_io.products.AProduct import AProduct
    from cis.collocation.col_framework import Kernel
    from cis.aggregation.collapse_kernels import aggregation_kernels
    from collections import namedtuple
    from collections import namedtuple
    from collections import namedtuple
    from collections import namedtuple
    from cis.parse_datetime import parse_as_number_or_datetime, parse_as_number_or_datetime_delta
    from collections import namedtuple
    from cis.parse_datetime import parse_datetime, parse_as_number_or_datetime, parse_partial_datetime
    from cis.utils import parse_key_val_list
        from matplotlib.colors import cnames
    from six.moves import input
    from collections import namedtuple
        else:
            split_input_comma = []  # need to loop over options to set optional arguments to None

        if len(split_input_comma) > len(option):
            raise InvalidCommandLineOptionError('More options specified than are actually available.')

        # If there is only one optional argument do not require the 'keyword=' syntax
        if len(option) == 1 and len(split_input_comma) == 1:
            split_input_variable = split_outside_brackets(split_input_comma[0], '=')
            if len(split_input_variable) == 1:
                input_dict[option[0]] = split_input_variable[0]
                option.pop(0)
                split_input_comma.pop(0)
            elif len(split_input_variable) == 2:
                if option[0] == split_input_variable[0]:
                    input_dict[option[0]] = split_input_variable[1]
                    option.pop(0)
                    split_input_comma.pop(0)
            else:
                raise InvalidCommandLineOptionError('Something is wrong with this argument: ', split_input_comma)

        for i, option in enumerate(option):
            for j in split_input_comma:
                # Split the input, [0] will be the key and [1] the value in the list
                split_input_variable = split_outside_brackets(j, '=')
                if split_input_variable[0] == option:
                    input_dict[option] = options[i + compulsory_args](split_input_variable[1], parser)
                    split_input_comma.remove(j)

        if len(split_input_comma) != 0:

# Path: cis/exceptions.py
# class InvalidCommandLineOptionError(CISError):
#     pass
# 
# Path: cis/plotting/plot.py
# def format_units(units):
# def get_label(common_data, units=True):
# def _try_coord(data, coord_dict):
# def get_axis(d, axis, name=None):
# def set_x_axis_as_time(ax):
#     def format_datetime(x, pos=None):
# def _get_extent(ax):
# def _test_natural_earth_available():
# def drawcoastlines(ax, coastlinescolour):
# def drawbluemarble(ax):
# def get_best_map_ticks(ax, transform=None):
# def set_map_ticks(ax, xticks, yticks, transform=None):
# def add_color_bar(ax, mappable, vstep, logv, cbarscale, cbarorient, cbarlabel):
# def basic_plot(data, how=None, ax=None, xaxis=None, yaxis=None, projection=None, central_longitude=0.0,
#                label=None, *args, **kwargs):
# def multilayer_plot(data_list, how=None, ax=None, yaxis=None, layer_opts=None, *args, **kwargs):
# def taylor_plot(data_list, ax=None, layer_opts=None, *args, **kwargs):


# Path: cis/parse.py
import argparse
import re
import sys
import os.path
import logging
    import cis.plugin as plugin
    import cis.plugin as plugin
    import cis.plugin as plugin
from cis.exceptions import InvalidCommandLineOptionError
from cis.plotting.plot import plot_types, projections
    from cis.data_io.products.AProduct import AProduct
    from cis.parse_datetime import parse_as_number_or_datetime_delta, parse_as_number_or_datetime
    from matplotlib.colors import cnames
    from cis.data_io.data_reader import expand_filelist
    from cis.data_io.products.AProduct import AProduct
    from cis.collocation.col_framework import Kernel
    from cis.aggregation.collapse_kernels import aggregation_kernels
    from collections import namedtuple
    from collections import namedtuple
    from collections import namedtuple
    from collections import namedtuple
    from cis.parse_datetime import parse_as_number_or_datetime, parse_as_number_or_datetime_delta
    from collections import namedtuple
    from cis.parse_datetime import parse_datetime, parse_as_number_or_datetime, parse_partial_datetime
    from cis.utils import parse_key_val_list
        from matplotlib.colors import cnames
    from six.moves import input
    from collections import namedtuple

        else:
            split_input_comma = []  # need to loop over options to set optional arguments to None

        if len(split_input_comma) > len(option):
            raise InvalidCommandLineOptionError('More options specified than are actually available.')

        # If there is only one optional argument do not require the 'keyword=' syntax
        if len(option) == 1 and len(split_input_comma) == 1:
            split_input_variable = split_outside_brackets(split_input_comma[0], '=')
            if len(split_input_variable) == 1:
                input_dict[option[0]] = split_input_variable[0]
                option.pop(0)
                split_input_comma.pop(0)
            elif len(split_input_variable) == 2:
                if option[0] == split_input_variable[0]:
                    input_dict[option[0]] = split_input_variable[1]
                    option.pop(0)
                    split_input_comma.pop(0)
            else:
                raise InvalidCommandLineOptionError('Something is wrong with this argument: ', split_input_comma)

        for i, option in enumerate(option):
            for j in split_input_comma:
                # Split the input, [0] will be the key and [1] the value in the list
                split_input_variable = split_outside_brackets(j, '=')
                if split_input_variable[0] == option:
                    input_dict[option] = options[i + compulsory_args](split_input_variable[1], parser)
                    split_input_comma.remove(j)

        if len(split_input_comma) != 0:

            raise InvalidCommandLineOptionError('The following optional arguments could not be parsed: ' +