#!/usr/bin/env python # encoding: utf-8 """ This configuration describes the mapping between the cloud and ozone product variable names in GEOCAT and the AIT Framework. Created by Eva Schiffer August 2009. Copyright (c) 2009 University of Wisconsin SSEC. All rights reserved. """ import numpy as np import glance.filters as filters import numpy as np import glance.filters as filters # various general settings to control how reports are created settings = {} # whether or not images should be generated and shown in the report settings['shouldIncludeImages'] = True # should we create multiple processes to make more than one image at a time? # turning on this option can cause glance to use a very large amount of system # resources (if your data set is particularly large, your machine may not have # enough), but will speed up image generation in cases where your data set is # relatively small or your machine is very powerful settings['doFork'] = False # the names of the latitude and longitude variables lat_lon_info = {} lat_lon_info['longitude'] = 'pixel_longitude' lat_lon_info['latitude'] = 'pixel_latitude' # the alternate names of the latitude and longitude in file B lat_lon_info['longitude_alt_name_in_b'] = 'Longitude' lat_lon_info ['latitude_alt_name_in_b'] = 'Latitude' # If the latitude and longitude are more different than this, we need to be # warned that there is something bad going on lat_lon_info['lon_lat_epsilon'] = 0.1 # per variable defaults defaultValues = { # this default is for our variables, type variables # like cloud mask will have individual epsilons # definied in their entries below 'epsilon': 0.0, # we will accept up to 1% of difference between the files # before we start looking more carefully at the problem 'epsilon_failure_tolerance': 0.01, # we will not accept any non finite data difference between the files 'nonfinite_data_tolerance': 0.01, # we only need to see plots of the variable data if the # variable fails comparison 'only_plot_on_fail': False } # a list of all the variables to analyze setOfVariables = {} # general variables #setOfVariables['Latitude'] = { # 'variable_name': 'pixel_latitude', # 'alternate_name_in_B': 'Latitude' # } #setOfVariables['Longitude'] = { # 'variable_name': 'pixel_longitude', # 'alternate_name_in_B': 'Longitude' # } # Ozone related setOfVariables['Ozone Column'] = { 'variable_name': 'ozone_seviri_o3_col', 'epsilon': 1.0, # to reflect the very large range of the data, a more permissive ~1% 'alternate_name_in_B': 'Column_Ozone' } # Cloud Mask related setOfVariables['Cloud Top Height'] = { 'variable_name': 'baseline_cld_hght_seviri_cloud_top_height', 'epsilon': 5.0, # because the height is such a huge range and accuracy, allow lower accuracy temporarily 'alternate_name_in_B': 'Cloud_Top_Height', # this is temporary while there is aberrant data distorting our analysis 'data_filter_function_a': (lambda data: filters.set_to_value_between_bounds(data, -32768, -300, 30000)), 'data_filter_function_b': (lambda data: filters.set_to_value_between_bounds(data, -999, -300, 30000)) } setOfVariables['Cloud Top Pressure'] = { 'variable_name': 'baseline_cld_hght_seviri_cloud_top_pressure', 'alternate_name_in_B': 'Cloud_Top_Press', # this is temporary while there is aberrant data distorting our analysis 'data_filter_function_a': (lambda data: filters.set_to_value_between_bounds(data, -32768, 0, 1100)), 'data_filter_function_b': (lambda data: filters.set_to_value_between_bounds(data, -999, 0, 1100)) } setOfVariables['Cloud Top Temperature'] = { 'variable_name': 'baseline_cld_hght_seviri_cloud_top_temperature', 'alternate_name_in_B': 'Cloud_Top_Temp' } setOfVariables['Cloud Mask'] = { 'variable_name': 'baseline_cmask_seviri_cloud_mask', # because this is an integer type variable, epsilon is 0.0 'epsilon': 0.0, 'missing_value': None, 'alternate_name_in_B': 'CloudMask' } setOfVariables['Cloud Phase'] = { 'variable_name': 'baseline_ctype_seviri_cloud_phase', # because this is an integer type variable, epsilon is 0.0 'epsilon': 0.0, 'missing_value': None, 'alternate_name_in_B': 'CloudPhase' } setOfVariables['Cloud Type'] = { 'variable_name': 'baseline_ctype_seviri_cloud_type', # because this is an integer type variable, epsilon is 0.0 'epsilon': 0.0, 'missing_value': None, 'alternate_name_in_B': 'CloudType' } setOfVariables['Fire Radiative Power'] = { 'variable_name': 'wf_abba_nomodis_legacy_output_fire_radiative_power', 'missing_value': -999.0, 'alternate_name_in_B': 'FireRadiPower' } setOfVariables['Fire Size'] = { 'variable_name': 'wf_abba_nomodis_legacy_output_fire_size', 'missing_value': -999.0, 'alternate_name_in_B': 'FireSize' } setOfVariables['Fire Temperature'] = { 'variable_name': 'wf_abba_nomodis_legacy_output_fire_temperature', 'missing_value': -999.0, 'alternate_name_in_B': 'FireTemp' } setOfVariables['FireQC'] = { 'variable_name': 'wf_abba_nomodis_legacy_output_bioburn_mask', 'missing_value': -999.0, 'alternate_name_in_B': 'FireQC' }