d = new Date();
startYear = 1997;
currentYear = d.getMonth() === 0 ? d.getFullYear() - 1 : d.getFullYear()
thismon = d.getMonth() // 1-based index matching your months array
// Create arrays
years = Array.from({ length: currentYear - startYear + 1 }, (_, index) => startYear + index)
months = Array.from({ length: 12 }, (_, index) => 0 + index)FNMOC Products
Model-Derived Products
FNMOC Model-Derived Products
The products below are derived from the time series of FNMOC Cross-Model mean sea level pressure described under FNMOC models and are calculated as described in the Bakun Upwelling Index section
Ekman Transport
Monthly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, this month
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
Geostrophic Surface Wind
Monthly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, this month
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
Geostrophic Surface Wind Stress
Monthly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, this month
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
Curl of Geostrophic Surface Wind Stress
Monthly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, 1967-present
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
6-hourly, this month
1-degree, 0 to 360 ERDDAP download
1-degree, -180 to 180 ERDDAP download
Monthly Sea Level Pressure Maps
Monthly mean pressure maps based on the FNMOC 360x181 (1-degree) analyzed fields.