Changeset 2171 in lmdz_wrf for trunk


Ignore:
Timestamp:
Oct 8, 2018, 3:28:58 PM (7 years ago)
Author:
lfita
Message:

Adding:

  • `mapFigure': Function to provide the environment for a map
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/drawing_tools.py

    r2155 r2171  
    154154# check_arguments:
    155155# Str_Bool:
     156# mapFigure: Function to provide the environment for a map
    156157# movie_2D_shadow: Plot of a 2D field with shadow
    157158# multi_plot_2D_shadow: plot of multiple 2D shadowing variables sharing colorbar
     
    1377413775    return
    1377513776
     13777def mapFigure(lon0, lat0, lonlatbox, mapvals, Nlon, Nlat):
     13778    """ Function to provide the environment for a map
     13779      lon0: 2D longitudes
     13780      lat0: 2D latitudes
     13781      lonlatbox: [SWlon, SWlat, NElon, NElat] box or None
     13782      mapvals: values for the map
     13783      Nlon: Quantity of meridians to plot
     13784      Nlat: Quantity of parallels to plot
     13785    """
     13786    fname = 'mapFigure'
     13787
     13788    lon, lat = gen.lonlat2D(lon0, lat0)
     13789
     13790    map_proj=mapvals.split(',')[0]
     13791    map_res=mapvals.split(',')[1]
     13792
     13793    if lonlatbox is not None:
     13794        nlon = lonlatbox[0]
     13795        nlat = lonlatbox[1]
     13796        xlon = lonlatbox[2]
     13797        xlat = lonlatbox[3]
     13798    else:
     13799        nlon = np.min(lon)
     13800        xlon = np.max(lon)
     13801        nlat = np.min(lat)
     13802        xlat = np.max(lat)
     13803
     13804    lon2 = (xlon+nlon)/2.
     13805    lat2 = (xlat+nlat)/2.
     13806
     13807    print 'lon2:', lon2, 'lat2:', lat2, 'SW pt:', nlon, ',', nlat, 'NE pt:',     \
     13808      xlon, ',', xlat
     13809
     13810    if map_proj == 'cyl':
     13811      mapenv = Basemap(projection=map_proj, llcrnrlon=nlon, llcrnrlat=nlat,          \
     13812        urcrnrlon=xlon, urcrnrlat= xlat, resolution=map_res)
     13813    elif map_proj == 'lcc':
     13814      mapenv = Basemap(projection=map_proj, lat_0=lat2, lon_0=lon2, llcrnrlon=nlon,  \
     13815        llcrnrlat=nlat, urcrnrlon=xlon, urcrnrlat= xlat, resolution=map_res)
     13816    else:
     13817      print gen.errormsg
     13818      print '  ' + fname + ": map projection '" + map_proj + "' not defined!!!"
     13819      print '    available: cyl, lcc'
     13820      quit(-1)
     13821
     13822    merids = gen.pretty_int(nlon, xlon, Nlon)
     13823    parals = gen.pretty_int(nlat, xlat, Nlat)
     13824
     13825    xmap,ymap = mapenv(lon,lat)
     13826
     13827    return mapenv, merids, parals, xmap, ymap
     13828
Note: See TracChangeset for help on using the changeset viewer.