from typing import Tuple


def get_fields_for_plot(cloudnet_file_type: str) -> Tuple[list, int]:
    """Return list of variables and maximum altitude for Cloudnet quicklooks.

    Args:
        cloudnet_file_type (str): Name of Cloudnet file type, e.g., 'classification'.

    Returns:
        tuple: 2-element tuple containing feasible variables for plots
        (list) and maximum altitude (int).

    """
    max_alt = 12
    if cloudnet_file_type == "categorize":
        fields = [
            "Z",
            "v",
            "width",
            "ldr",
            "v_sigma",
            "beta",
            "lwp",
            "Tw",
            "radar_gas_atten",
            "radar_liquid_atten",
        ]
    elif cloudnet_file_type == "classification":
        fields = ["target_classification", "detection_status"]
    elif cloudnet_file_type == "iwc":
        fields = ["iwc", "iwc_error", "iwc_retrieval_status"]
    elif cloudnet_file_type == "lwc":
        fields = ["lwc", "lwc_error", "lwc_retrieval_status"]
        max_alt = 6
    elif cloudnet_file_type == "model":
        fields = ["cloud_fraction", "uwind", "vwind", "temperature", "q", "pressure"]
    elif cloudnet_file_type == "lidar":
        fields = ["beta", "beta_raw", "depolarisation", "depolarisation_raw"]
    elif cloudnet_file_type == "mwr":
        fields = ["lwp"]
    elif cloudnet_file_type == "radar":
        fields = ["Zh", "v", "width", "ldr", "sldr"]
    elif cloudnet_file_type == "disdrometer":
        fields = ["rainfall_rate", "n_particles"]
    elif cloudnet_file_type == "drizzle":
        fields = ["Do", "drizzle_N"]
        max_alt = 4
    else:
        raise NotImplementedError(cloudnet_file_type)
    return fields, max_alt