I have Time Dimension Working with an Image Mosaic layer. Is it possible to add dimensions other than time/elevation? For example the files in my mosaic are named as follows where rtma or pris represents a "climate" attribute:
pristmax_20150115.tif
pristmax_20150115.tif
rtmatmax_20150116.tif
rtmatmax_20150116.tif
In my mosaic directory, I now have two regex property files (one for time dimension and one for climatesource dimension):
timeregex.properties containing regex=[0-9]{8}
climateregex.properties containing regex=^.{4}
I modified my indexer.properties property file look like so:
TimeAttribute=ingestion
ClimateAttribute=climatesource
Schema=*the_geom:Polygon,location:String,ingestion:java.util.Date,climatesource:String
PropertyCollectors=TimestampFileNameExtractorSPI[timeregex](ingestion),StringFileNameExtractorSPI[climateregex](climatesource)
I also tried modifying postgis_rasters.properties to have a ClimateAttribute:
#-Automagically created from GeoTools-
#Wed Nov 25 13:16:00 MST 2015
Levels=0.026578191679850746,0.026578191679850746
Heterogeneous=false
TimeAttribute=ingestion
ClimateAttribute=climatesource
AbsolutePath=false
Name=postgis_rasters
TypeName=postgis_rasters
Caching=false
ExpandToRGB=false
LocationAttribute=location
SuggestedSPI=it.geosolutions.imageioimpl.plugins.tiff.TIFFImageReaderSpi
CheckAuxiliaryMetadata=false
LevelsNum=1
Geoserver created a table in Postgis as expected:
1 | 0103... | rtmatmax_20150115.tif | 2015-01-14 17:00:00.000000 | rtma
2 | 0103... | pristmax_20150115.tif | 2015-01-14 17:00:00.000000 | pris
But using &climate=rtma or &climate=pris in my url doesn't effect which raster is retrieved, whereas &time=2015-01-14 or &time=2015-01-15 selects the raster from that day. How can I get the climate attribute to function?
--- UPDATE ---
After following @rovo's answer, the new dimension appears in geoserver. Here is a screen cap.
And here is an example the postres side (note my regex was wrong so I currently don't have what I meant to have under climatesource but this is just a test):
The part I'm not yet able to get working is geoserver seems to be ignoring the CLIMATESOURCE param in my url.
In the getcapabilities I see
<Dimension name="time" units="ISO8601"/>
<Dimension name="CLIMATESOURCE" units=""/>
<Extent name="time" default="2017-07-06T00:00:00Z">2016-01-01T00:00:00.000Z,2016-01-02T00:00:00.000Z...
<Extent name="CLIMATESOURCE" default="agdd_20170706_base_thirtytwo">agdd_20160101_base_fifty,agdd_20160101_base_thirtytwo.....
When using &time=2017-07-06&CLIMATESOURCE=agdd_20170206_base_thirtytwo I get a valid map back because 2017-07-07 happens to match the default for CLIMATESOURCE. When I change time to be anything else it doesn't return a map because it's still using the default "agdd_20170706_base_thirtytwo" even if I try overriding CLIMATESOURCE with a matching date.
--- UPDATE2 SOLVED ---
RoVo's answer now clarifies to use DIM_CLIMATESOURCE in the WMS request.