def METHOD_NAME(cls):
    cls.use_temp_region()
    cls.runModule("g.region", raster="lsat7_2002_30@PERMANENT")
    cls.runModule(
        "r.mapcalc",
        expression="ndvi_2002 = double(lsat7_2002_40@PERMANENT - lsat7_2002_30@PERMANENT) / double(lsat7_2002_40@PERMANENT + lsat7_2002_30@PERMANENT)",
    )
    cls.runModule(
        "r.mapcalc",
        expression="ndvi_1987 = double(lsat5_1987_40@landsat - lsat5_1987_30@landsat) / double(lsat5_1987_40@landsat + lsat5_1987_30@landsat)",
    )
    cls.runModule(
        "r.mapcalc",
        expression="urban_1987 = if(ndvi_1987 <= 0.1 && isnull(lakes), 1, if(isnull(lakes), 0, null()))",
    )
    cls.runModule(
        "r.mapcalc",
        expression="urban_2002 = if(ndvi_2002 <= 0.1 && isnull(lakes), 1, if(isnull(lakes), 0, null()))",
    )
    cls.runModule("r.slope.aspect", elevation="elevation", slope="slope")
    cls.runModule("r.grow.distance", input="lakes", distance="lakes_dist")
    cls.runModule("r.mapcalc", expression="lakes_dist_km = lakes_dist/1000.")
    cls.runModule("v.to.rast", input="streets_wake", output="streets", use="val")
    cls.runModule("r.grow.distance", input="streets", distance="streets_dist")
    cls.runModule("r.mapcalc", expression="streets_dist_km = streets_dist/1000.")
    cls.runModule(
        "r.futures.devpressure",
        input="urban_2002",
        output="devpressure",
        method="gravity",
        size=15,
        flags="n",
    )