build generic weather week
This commit is contained in:
@@ -351,3 +351,131 @@ export const hourly = [
|
||||
{ value: 'temperature_180m', label: 'Temperature 180m' }
|
||||
]
|
||||
];
|
||||
|
||||
/**
|
||||
* Ensemble models for the 14-day spread forecast, synced from the
|
||||
* open-meteo/website project (src/routes/en/docs/ensemble-api/options.ts).
|
||||
* Resolutions/update cadences from weather-map-layer domains.ts where known.
|
||||
*/
|
||||
export const ensembleModelGroups: WeatherModelGroup[] = [
|
||||
{
|
||||
value: 'dwd',
|
||||
label: 'DWD Germany',
|
||||
models: [
|
||||
{
|
||||
value: 'icon_seamless_eps',
|
||||
label: 'DWD ICON EPS Seamless',
|
||||
resolution: '2-25 km',
|
||||
update: 'every 6 h'
|
||||
},
|
||||
{
|
||||
value: 'icon_global_eps',
|
||||
label: 'DWD ICON EPS Global',
|
||||
resolution: '25 km',
|
||||
update: 'every 12 h'
|
||||
},
|
||||
{ value: 'icon_eu_eps', label: 'DWD ICON EPS EU', resolution: '13 km', update: 'every 6 h' },
|
||||
{ value: 'icon_d2_eps', label: 'DWD ICON EPS D2', resolution: '2 km', update: 'every 6 h' }
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'ncep',
|
||||
label: 'NOAA U.S.',
|
||||
models: [
|
||||
{
|
||||
value: 'ncep_gefs_seamless',
|
||||
label: 'GFS Ensemble Seamless',
|
||||
resolution: '25-50 km',
|
||||
update: 'every 6 h'
|
||||
},
|
||||
{
|
||||
value: 'ncep_gefs025',
|
||||
label: 'GFS Ensemble 0.25°',
|
||||
resolution: '25 km',
|
||||
update: 'every 6 h'
|
||||
},
|
||||
{
|
||||
value: 'ncep_gefs05',
|
||||
label: 'GFS Ensemble 0.5°',
|
||||
resolution: '50 km',
|
||||
update: 'every 6 h'
|
||||
},
|
||||
{ value: 'ncep_aigefs025', label: 'AIGEFS 0.25°', resolution: '25 km', update: 'every 6 h' }
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'ecmwf',
|
||||
label: 'ECMWF',
|
||||
models: [
|
||||
{
|
||||
value: 'ecmwf_ifs025_ensemble',
|
||||
label: 'ECMWF IFS 0.25° Ensemble',
|
||||
resolution: '25 km',
|
||||
update: 'every 6 h'
|
||||
},
|
||||
{
|
||||
value: 'ecmwf_aifs025_ensemble',
|
||||
label: 'ECMWF AIFS 0.25° Ensemble',
|
||||
resolution: '25 km',
|
||||
update: 'every 6 h'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'cmc_gem',
|
||||
label: 'GEM Canada',
|
||||
models: [
|
||||
{
|
||||
value: 'gem_global_ensemble',
|
||||
label: 'GEM Global Ensemble',
|
||||
resolution: '50 km',
|
||||
update: 'every 12 h'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'bom',
|
||||
label: 'BOM Australia',
|
||||
models: [{ value: 'bom_access_global_ensemble', label: 'BOM ACCESS Global' }]
|
||||
},
|
||||
{
|
||||
value: 'ukmo',
|
||||
label: 'UK Met Office',
|
||||
models: [
|
||||
{
|
||||
value: 'ukmo_global_ensemble_20km',
|
||||
label: 'UK MetOffice Global 20km',
|
||||
resolution: '20 km'
|
||||
},
|
||||
{ value: 'ukmo_uk_ensemble_2km', label: 'UK MetOffice UK 2km', resolution: '2 km' }
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'meteoswiss',
|
||||
label: 'MeteoSwiss',
|
||||
models: [
|
||||
{
|
||||
value: 'meteoswiss_icon_ch1_ensemble',
|
||||
label: 'MeteoSwiss ICON CH1',
|
||||
resolution: '1 km',
|
||||
update: 'every 12 h'
|
||||
},
|
||||
{
|
||||
value: 'meteoswiss_icon_ch2_ensemble',
|
||||
label: 'MeteoSwiss ICON CH2',
|
||||
resolution: '2 km',
|
||||
update: 'every 12 h'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
value: 'google',
|
||||
label: 'Google',
|
||||
models: [{ value: 'google_weathernext2_ensemble', label: 'Google WeatherNext 2 Ensemble' }]
|
||||
}
|
||||
];
|
||||
|
||||
export const ensembleModels: WeatherModel[] = ensembleModelGroups.flatMap((group) => group.models);
|
||||
|
||||
export const findEnsembleModel = (value: string): WeatherModel | undefined =>
|
||||
ensembleModels.find((model) => model.value === value);
|
||||
|
||||
Reference in New Issue
Block a user