Client providing access to weather data from WeatherLayers Cloud or a compatible catalog


Configure client with your WeatherLayers Cloud access token created in WeatherLayers Account.
import * as WeatherLayersClient from 'weatherlayers-gl/client';
// calculate the datetime range for visualization as 0-24 forecast
const datetimeRange = WeatherLayers.offsetDatetimeRange(new Date().toISOString(), 0, 24);
// use your WeatherLayers Cloud access token
const client = new WeatherLayersClient.Client({
accessToken: 'xxx',
datetimeInterpolate: true,
// load dataset slice, load data in the first available datetime
const dataset = 'gfs/wind_10m_above_ground';
const {title, unitFormat, attribution, referenceDatetimeRange, palette} = await client.loadDataset(dataset);
const {datetimes} = await client.loadDatasetSlice(dataset, datetimeRange);
const datetime = datetimes[0];
const {image, image2, imageWeight, imageType, imageUnscale, bounds} = await client.loadDatasetSliceData(dataset, datetimeRange, datetime);


Client(config: ClientConfig = {})

Config properties


Type: string, optional
Default: (WeatherLayers Cloud)
Catalog url


Type: string, optional
Default: none (but required for WeatherLayers Cloud)
Catalog access token


Type: string, optional
Default: byte.png
GeoTIFF requires geotiff.js as a peer dependency.


Type: string, optional
Attribution link class, used in Dataset, attribution field


Type: boolean, optional
Enable datetime interpolation.
For example, if a datetime 6:30 is requested, but 6:00 and 7:00 exist, { image: <6:00>, image2: <7:00>, imageWeight: 0.5 } is returned by loadDatasetData.


loadCatalog(): Promise<string[]>

Loads dataset ids from the catalog.

loadDataset(dataset: string, config: ClientConfig = {}): Promise<Dataset>

Loads dataset metadata from the catalog.

loadDatasetSlice(dataset: string, datetimeRange: DatetimeISOStringRange, config: ClientConfig = {}): Promise<DatasetSlice>

Loads dataset slice with available datetimes in the given datetime range from the catalog.
The current data with offset can be loaded by providing datetimeRange = WeatherLayers.offsetDatetimeRange(new Date().toISOString(), 0, 24).

loadDatasetData(dataset: string, datetime: DatetimeISOString, config: ClientConfig = {}): Promise<DatasetData>

Loads dataset data at the given datetime from the catalog.
The current data can be loaded by providing datetime = new Date().toISOString().
Last modified 12d ago