A real land mask

As mentioned in the previous post, I now have a real land mask from ISLSCP Initiative II.

The format of the files in refreshingly simple. 180 rows with 360 space separated numbers. It takes nothing more than a few dozen lines of Python to convert this into the 8000 cell format that ccc-gistemp uses for its step5mask.

Here’s the 8000 GISTEMP cells that contain any land (according to the ISLSCP file). Drawn on a Plate Carrée projection:

Even at this blobby scale there are some suspicious features (missing). Where is Ascension or Cocos Islands? I don’t think it’s an artefact of my processing, because they don’t appear on the ISLSCP file either; that’s probably a bug. So accepting that their might be some minor issues with islands and so on, we can go on to do a run of ccc-gistemp using this land mask:

As mentioned in the previous article, restricting to land de-emphasises coastal stations which generally warm less slowly. So the restricted version of the analysis has a stronger warming trend.

Many of the partial land cells will have ocean data and will not have a nearby land station to count as a land cell in the usual GISTEMP analysis. So we find that excluding cells that have ocean data (and no nearby land station) results in an even stronger trend. The red graph is reprised from the previous article:

(pedants should note that in the above graph “cells with ocean data” means “cells with ocean data and where the nearest land station to the cell’s centre is more than 100 km away”)

There are countless variations one could try such as weighting cells by their coverage, or using a threshold of 50% land cover. As far as an estimate of land temperatures go, such variations amount to interpolating between those two curves on the previous chart. Roughly.

17 Responses to “A real land mask”

  1. Bob Koss Says:

    [ed: I’ve moved this bug report into the googlecode issue tracker. Thanks for reporting it!]

  2. pd Says:

    GHCN v3 is now available:

  3. Marcus Says:

    Another land mask option might be to use the CIESEN database: available at 2.5 minute resolution (also, 1/4, 1/2, and 1 degree resolution): http://sedac.ciesin.columbia.edu/gpw/global.jsp


  4. drj Says:

    @pd: Thanks for the heads up. I expect GISS will be modifying their GISTEMP to use GHCN v3 at some point (if they haven’t already done so). I should have some time to look into it after the Surface Temperatures workshop next week.

  5. drj Says:

    @Marcus: Thanks for the pointer. As it happens, I’m collaborating with a few others on working with the CIESEN SEDAC data for urban proxies. (but I didn’t know they did land masks)

  6. Mr A Writinghawk Says:

    Or the Maldives … I’m feeling a bit wet …

  7. drj Says:

    I wonder if there is a problem with atolls? Perhaps the amount of land really is less than 0.5% of a quarter degree square.

  8. Mr A Writinghawk Says:

    Oh, probably. From my Maldives guidebook:

    The republic covers a total area of 90,000 km2, about the size of Portugal, but that includes the sea. Land area is about 298km2, roughly half the size of Singapore.

    So comfortably less than .5% land cover.

  9. Mr A Writinghawk Says:

    Wow, that’s a blockquote and a half. I can’t say the same about the superscripts. [ed: I edited the comment to use <sup> tags and that seemed to work. I had to look up which was the right tag to use to get superscripts.]

  10. Feet2theFire Says:

    A question or three:

    Are the cells weighted by their areas in any of these?

    Is it possible to weight the land-sea mixed cells by their % of land? (It shouldn’t be all that difficult to ascertain each cell’s percentages.)

    Is either of the above helpful at all?

  11. drj Says:


    “Are the cells weighted by their areas in any of these?” In the usual GISTEMP analysis (and so in ccc-gistemp) each of the 8000 cells have the same area (by the design of the grid). This makes it particularly easy to weight the cells by their area when the zonal average is computed.

    “Is it possible to weight the land-sea mixed cells by their % of land?” Yes, it is a Simple Matter Of Programming. ccc-gistemp does not do it, but other analyses do. There is some discussion of the merits of weighting mixed cells by their land/ocean cover in Brohan et al 2006 (section 4).

    The JMA reconstruction blends mixed cells by their land/ocean coverage.

    Zeke Hausfather has been doing some useful survey work of the land/ocean blend.

  12. steven mosher Says:

    I’ve also got the weighted done by percent of land in a grid box.

  13. steven mosher Says:

    the missing island thing is a bother. also ships in inv2 are a bother.

    I’m in search of a better land mask, will let you know. when I get one, I’ll output in the form you need

  14. steven mosher Says:

    be aware that some SST data sets will have values for areas like the great lakes region (HADISST2 i think) which complicates the masking business a bit

    ( doesnt make much of a difference though)

    Somewhere on my blog I posted up the trend for the coastal cells by themselves:

    That is, the temperature curve for the land portion and the temperature curve for the ocean portion ( say that 3 times fast)

  15. Kevin C Says:

    Trying to reproduce this without success.

    First attempt: as far as I can tell ISLSCP2 no longer exists.
    Second attempt: I simply copied the step5mask from work to input (checking it contains both 1’s and 0’s) and reran.

    The resulting GLB.* file was unchanged. The console output did show the file was being read:

    python tool/run.py
    ====> STEPS 0, 1, 2, 3, 4, 5 ====
    No more recent sea-surface data files.

    Using mask from input/step5mask
    Load GHCN records
    Load USHCN records

    Thanks for any help,

  16. Kevin C Says:

    OK, I think I got it working. Probably user error.

    I’ve also found the mask data, it’s now available here: ftp://daac.ornl.gov/data/islscp_ii/ancillary/land_water_masks_xdeg/data/

  17. The Blackboard » Comparing Land Temperature Reconstructions – Revisited! Says:

    […] scheme. For GISTemp, this involved taking the Clear Climate Code implementation and applying a land mask (raw data available here). For CRUTem, this involved tracking down a (rather poorly advertised) […]

Leave a Reply