Dear VAPOR community,
I want to visualize a high resolution WRF output, and I’m wondering how I can find high resolution map projection. I tried the 500 meters BBM, but it’s still too coarse.
Thank you very much in advance.
Dear VAPOR community,
I want to visualize a high resolution WRF output, and I’m wondering how I can find high resolution map projection. I tried the 500 meters BBM, but it’s still too coarse.
Thank you very much in advance.
VAPOR will load any GeoTIFF. You simply need to specify the path to the file from the Image/Appearance tab. As to where on the internet you can download a raster image with higher resolution than the 500m BBM, that I can’t tell you. Someone on the OSGeo forum might be able to provide some guidance if you can provide them the region of the globe that you are interested in.
Below is a python script that you can use to create geotiffs. You’ll need to play with the parameters though. This creates a geotiff from NASA’s VIIRS_CityLights_2012 map layer. You can find more map layer products at the following link.
import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import PIL
from osgeo import gdal
def main():
url = 'https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi'
layer = 'VIIRS_CityLights_2012'
#layer = 'GOES-West_ABI_Band2_Red_Visible_1km'
west = -170
north = 60
east = -10
south = 15
width = 1920
height = 1080
dpi = 100
fig = plt.figure( figsize=(width/dpi, height/dpi), tight_layout=True )
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.add_wmts(url, layer)
ax.set_extent([west, east, south, north], crs=ccrs.PlateCarree())
ax.coastlines(resolution='50m', color='yellow')
tiffFile = "/Users/pearse/night6.tif"
fig.savefig( tiffFile,
bbox_inches='tight',
pad_inches=0 )
platteCarree = "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84"
tiff = gdal.OpenShared( tiffFile, gdal.GA_Update)
width = tiff.RasterXSize
height = tiff.RasterYSize
nightTranslated = '/Users/pearse/nightTranslated.tif'
nightWarped = '/Users/pearse/nightWarped.tif'
gdal.Translate( srcDS=tiffFile,
destName=nightTranslated,
format = 'GTiff',
outputBounds = [ west, north, east, south ],
outputSRS = 'EPSG:4326'
)
warpOpts = gdal.WarpOptions(
srcSRS='EPSG:4326',
dstSRS='EPSG:32662'
)
gdal.Warp( destNameOrDestDS=nightWarped,
srcDSOrSrcDSTab=nightTranslated,
srcSRS = 'EPSG:4326',
dstSRS='EPSG:32662' )
if __name__ == '__main__':
main()
Thank you very much for the great script Scott. I will definitely try it.
Just one more question and I know it’s unrelated, but is there any limitations of using “image renderer” with WRF-Fire output files?
I have a WRF-Fire output file that uses Lambert projection. When I use the image renderer, the default sets of images does not work properly, in fact nothing shows up, and even the BBM_500 is very coarse and does not seem right. It seems that the image renderer cannot find the location correctly. The domain dimension is roughly 7 by 7 km.
It’s hard to say without seeing your data. We definitely support the Lambert projection though, as long as the proj string is in your WRF file.
If you can share one of your files, I can take a look.