Satellite data are grouped by region and by year. For most regions there are at least two types of measurements: sea surface temperature (SST) and surface Chl-a concentration (Chl). CAL has also particulate organic carbon (POC). Other variables, such as Kd490 (diffuse attenuation of downwelling light at 490 nm), remote sensing reflectances at various wavelengths (e.g. Rrs443, Rrs490, Rrs555, etc) may be added.  Under each year these data are composited over different time intervals: dayly, 5-day, 15-day, month.

If concurrent data from multiple sensors are available, they are merged by simple pixel-wise averaging of valid pixel values. That increases coverage.

The files are identified by sensor, variable and compositing interval. The first letter of the file identifies the sensor or variable (for merged data) and means the following:



The full-resolution (1-km) datasets with numerical values are in HDF4 format. Reduced and annotated datasets are in both HDF4 and PNG. Attributes within HDF files provide information about the data. HDF files can be read with a number of programs.

The full image is 3840 pixels wide and 3405 pixels high. The annotated image is 4 times reduced and includes longitude/latitude grids, etc, i.e. you must be careful when interpreting the pixel value.  The latitudes and longitudes corresponding to each pixel can be obtained form HDF4 file cal_aco_3840_Latitude_Longitude.hdf  in
The products on this website are simple averages of all valid data from all available sensors: for SST that means MODIST and MODISA (and VIIRS since 2012), for Chl-a that includes sensors like SeaWiFS, MODIST, MODISA, MERIS, VIIRS, OLCI.

More advanced merging of Chl-a data is described in See Kahru, M. et al (2012), Trends in the surface chlorophyll of the California Current: Merging data from multiple ocean color satellites, Deep-Sea Research II, 77-80, 89-98, ; and the optimally merged 4-km data are available at

 Both SST and Chl values in the HDF files use 1 byte per pixel with specific scaling. Linear scaling is used for SST and logarithmic scaling for Chl. The scaling equations using pixel value (PV) as unsigned byte (from 0 to 255) are:

SST (deg C) = 0.15 * PV - 3.0

Chl (mg m-3) = 10^(0.015 * PV - 2.0), i.e. 10 to the power of 0.015 * PV - 2.0.

Pixel values 0 and 255 (and the corresponding scaled values) are considered invalid and must be excluded in any statistics.

When reading with Matlab the unsigned byte variable is reported as signed byte (int8) and values over 128 become negative. A simple fix is to add 256 if the signed pixel value is negative.

Some products have a copy in KMZ file format. Clicking (double-clicking) on these will open Google Earth (if installed) and load the image into Google Earth for navigation.


Net Primary Production (NPP) is currently presented only for the California Current region calculated using the Behrenfeld and Falkowski model (Behrenfeld, M.J., P.G. Falkowski, Limnol. Oceanogr., 42, 1-20, 1997) as adapted for the California Current (Kahru, M. et al, Trends in primary production in the California Current detected with satellite data, J. Geophys. Res., 114, doi:10.1029/2008JC004979, 2009; PDF). The NPP model used here (called VGPM-CAL) is based on hundreds of match-ups with in situ NPP measurements collected over the years by the CalCOFI program. NPP data are presented as 2-byte signed integers with units of mg C/m^2/day. Negative and zero values are considered invalid.


Note that all data are served through http and not ftp interface. For downloading many files in a batch mode you can use the wget utility that is either installed by default or available for free for most operating systems. Type wget --help to get all the options. There are way too many for me to grasp but you can try to use the following examples or try to understand wget on your own.

The following example downloads all *.png files from folder CAL/1978/C1978_chl_month/:

   wget -r -l1 -nd --no-parent -A.png

The following example downloads all *.hdf files from folder California_Current/1978/C1978_chl_month/:
   wget -r -l1 -nd --no-parent -A.hdf


For more information (not about wget!) please send email to (replace -AT- with @).