Source code for pyearthdata.airs

"""
AIRS module: Get Data directly from AIRS aboard NASA's Aqua Satellite
"""

from .utils import get, __airs_base_url__

[docs] def rel_humidity(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get Relative Humidity :param layer: [string] choose between AIRS_L2_RelativeHumidity_500hPa_Night AIRS_L2_RelativeHumidity_500hPa_Day AIRS_L2_RelativeHumidity_700hPa_Night AIRS_L2_RelativeHumidity_500hPa_Day AIRS_L2_RelativeHumidity_850hPa_Night AIRS_L2_RelativeHumidity_850hPa_Day AIRS_L2_Surface_Relative_Humidity_Day AIRS_L2_Surface_Relative_Humidity_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.rel_humidty( layer="AIRS_L2_RelativeHumidity_500hPa_Night", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def co(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get Carbon monoxide data :param layer: [string] choose between AIRS_L2_Carbon_Monoxide_500hPa_Volume_Mixing_Ratio_Day AIRS_L2_Carbon_Monoxide_500hPa_Volume_Mixing_Ratio_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.co( layer="AIRS_L2_Carbon_Monoxide_500hPa_Volume_Mixing_Ratio_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, 'image/png') return out
[docs] def dust(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get dust score :param layer: [string] AIRS_L2_Dust_Score_Day AIRS_L2_Dust_Score_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.dust( layer="AIRS_L2_Dust_Score_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def out_long_rad(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get Outgoing Longwave Radiation :param layer: [string] AIRS_L3_All_Sky_Outgoing_Longwave_Radiation_Daily_Day AIRS_L3_All_Sky_Outgoing_Longwave_Radiation_Daily_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.out_long_rad( layer="AIRS_L3_All_Sky_Outgoing_Longwave_Radiation_Daily_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def precipitation(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get precipitation data :param layer: [string] AIRS_Precipitation_Day AIRS_Precipitation_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.precipitation( layer="AIRS_Precipitation_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def so2(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get sulfur dioxide data :param layer: [string] AIRS_L2_Sulfur_Dioxide_Brightness_Temperature_Difference_Day AIRS_L2_Sulfur_Dioxide_Brightness_Temperature_Difference_Night AIRS_Prata_SO2_Index_Day AIRS_Prata_SO2_Index_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.so2( layer="AIRS_L2_Sulfur_Dioxide_Brightness_Temperature_Difference_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def temp(layer, tilematrix, tilecol, tilerow, date, format="png", **kwargs): """ Get temperature data :param layer: [string] AIRS_L2_Surface_Air_Temperature_Day AIRS_L2_Surface_Air_Temperature_Night AIRS_L2_Surface_Skin_Temperature_Day AIRS_L2_Surface_Skin_Temperature_Night AIRS_L2_Temperature_500hPa_Day AIRS_L2_Temperature_500hPa_Night AIRS_L2_Temperature_700hPa_Day AIRS_L2_Temperature_700hPa_Night AIRS_L2_Temperature_850hPa_Day AIRS_L2_Temperature_850hPa_Night :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.temp( layer="AIRS_L2_Surface_Air_Temperature_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def h2o_vapour(tilematrix, tilecol, tilerow, date, format="png", layer="AMSR2_Columnar_Water_Vapor_Day", **kwargs): """ Get water vapour data :param layer: [string] AMSR2_Columnar_Water_Vapor_Day :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch tile as image/png response = airs.h2o_vapour( layer="AMSR2_Columnar_Water_Vapor_Day", tilecol=1, tilematrix=3, tilerow=1, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_2km", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/png") return out
[docs] def map_underlay(tilematrix, tilecol, tilerow, date, format="jpeg", layer="BlueMarble_NextGeneration", **kwargs): """ Get earth satellite view underlaying the data. :param tilematrix: [integer] :param tilerow: [integer] :param tilecol: [integer] :param date: [date string] format YYYY-MM-DD :param format: [string] png/jpeg formats :return: An Image Usage:: # fetch background earth view tile as image/jpeg response = airs.map_underlay( tilematrix=2, tilecol=2, tilerow=0, date="2011-10-08") with open('img.png', 'wb') as out_file: shutil.copyfileobj(response.raw, out_file) del response """ url = __airs_base_url__ args = { "layer":layer, "tilematrixset":"EPSG4326_500m", "Service":"WMTS", "Request":"GetTile", "Version":"1.0.0", "Format":f"image/{format}", "TileMatrix":tilematrix, "TileCol":tilecol, "TileRow":tilerow, "TIME":date, } out = get(url, args, "image/jpeg") return out