si_list = filter(lambda x: len(x) > 0 and x[0] != '#', map(string.strip, si_list))

    # for each station id, load the station
    stations = []
    for code in si_list:
        mws = MesoWestStation(code)
        mws.load_station_info(os.path.join(cfg["station_info_dir"], "%s.info" % code))
        mws.register_to_grid(wrf_data)
        mws.load_station_data(os.path.join(cfg["station_obs_dir"], "%s.obs" % code))
        stations.append(mws)

    print('Loaded %d stations.' % len(stations))
    
    # construct basemap for rendering
    domain_rng = wrf_data.get_domain_extent()
    m = Basemap(llcrnrlon=domain_rng[0],llcrnrlat=domain_rng[1],
                urcrnrlon=domain_rng[2],urcrnrlat=domain_rng[3],
                projection = 'mill')

    # show the equilibrium field and render position of stations on top
    plt.figure(figsize = (12,9))
    render_spatial_field(m, lon, lat, hgt[0,:,:], 'Station positions over topography')
    for s in stations:
        slon, slat = s.get_position()
        x, y = m(slon, slat)
        plt.plot(x, y, 'o', markersize = 4, markerfacecolor = 'magenta')
        plt.text(x, y, s.get_id(), color = 'black')


    # compute station means and standard deviations
Example #2
0
    # for each station id, load the station
    stations = []
    for code in si_list:
        mws = MesoWestStation(code)
        mws.load_station_info(
            os.path.join(cfg["station_info_dir"], "%s.info" % code))
        mws.register_to_grid(wrf_data)
        mws.load_station_data(
            os.path.join(cfg["station_obs_dir"], "%s.obs" % code))
        stations.append(mws)

    print('Loaded %d stations.' % len(stations))

    # construct basemap for rendering
    domain_rng = wrf_data.get_domain_extent()
    m = Basemap(llcrnrlon=domain_rng[0],
                llcrnrlat=domain_rng[1],
                urcrnrlon=domain_rng[2],
                urcrnrlat=domain_rng[3],
                projection='mill')

    # show the equilibrium field and render position of stations on top
    plt.figure(figsize=(12, 9))
    render_spatial_field(m, lon, lat, hgt[0, :, :],
                         'Station positions over topography')
    for s in stations:
        slon, slat = s.get_position()
        x, y = m(slon, slat)
        plt.plot(x, y, 'o', markersize=4, markerfacecolor='magenta')
        plt.text(x, y, s.get_id(), color='black')