I would like to clip raster where the surface intersect another surface and keep elevations that are below only. I am interpolating a vector into a 2D raster (v.surf.rst) for properties at a given elevation (ex: 120 masl), and i would like to clip the raster when it is above the ground surface using a DEM. A- I could subtract the DEM elevation from the raster elevation, and keep only positive values, this way only pixels which are below the DEM would be kept. Using R.Mapcalc.simple, you cannot select which field to apply the formula.
It's not quite clear to me what you're asking. (Maybe an example would help). But you can mask out values of one raster by values from another raster as follows: Suppost you have a DEM raster 'dem' and another raster 'properties'. You want to see the properties only where the DEM elevation is above 120. Then:
g.region -ap rast=properties r.mapcalc "properties_masked = if(dem >= 120, properties, null())
This sets to null all areas of the properties raster that are below 120 elevation.