Hi Alonso,
Yes, you can define spatially varying dispersion coefficients.
But first of all, dispersion coefficients are not defined per cell (or segment) but per exchange, the interface between two segments.
DWAQ organizes exchanges per direction. When used with curvilinear grids there are two directions in the horizontal direction (the two grid axes) and a third direction being the vertical in the case of a 3D model.
The GUI allows you to specify uniform coefficients for all the relevant directions.
To use spatially varying coefficients you can use additional dispersion arrays. To do so, activate the checkbox "Use dispersion arrays" located under the uniform dispersion coefficients.
You then have to specify the file containing the additional dispersion coefficients. You can write such a file yourself with a regular text editor.
Here's a template you could use:
 ;Data option: 
 1 ; InformationInformation is constant and input will be provided without defaults 
 ; See section 11.2 of the input file description manual 
 ; 
 ; first direction 
 ; 
 1.0 ; scale factor 
 ; dispersion values as a matrix with shape nb_of_exchanges x nb_dispersion_arrays: 
 2.0000e+01 ; dispersion coeff for 1st exchange in first direction 
 2.1000e+01 ; dispersion coeff for 2nd exchange in first direction 
 1.8000e+01 ; dispersion coeff for 3rd exchange in first direction 
 1.7000e+01 ; dispersion coeff for 4th exchange in first direction 
 ... 
 2.5000e+01 ; dispersion coeff for last exchange in first direction 
 ; 
 ; second direction 
 ; 
 1.0 ; scale factor 
 ; dispersion values as a matrix with shape nb_exchanges x nb_dispersion_arrays: 
 2.0000e+01 ; dispersion coeff for 1st exchange in second direction 
 2.1000e+01 ; dispersion coeff for 2nd exchange in second direction 
 1.8000e+01 ; dispersion coeff for 3rd exchange in second direction 
 1.7000e+01 ; dispersion coeff for 4th exchange in second direction 
 ... 
 2.5000e+01 ; dispersion coeff for last exchange in first direction 


 ; no third direction (2D model) 
The number of records for each direction should match the number of exchanges of each directions. You can find these numbers in block 4 of your input file. Look for something like:
 ; fourth block of model input (transport) 
 600 ; exchanges in direction 1 
 600 ; exchanges in direction 2 
 0 ; exchanges in direction 3 
 ; 
Saving this file with a *.dsp extension, specifying it's name in de GUI and saving the scenario will modify your input file in the following way:
In block 4 of your input file you should see the following:
 0 ; dispersion arrays 
 0 ; velocity arrays 
changing to:
 1 ; dispersion arrays 
 'DispArray' 
 3*1 
 0 ; velocity arrays 
Where 3 is the number of active substance in your model.
If you want to use different additional dispersion arrays depending on the substance, you have to manually modify the input file to add more than one dispersion array and specify which array is to be used for which substance:
 2 ; dispersion arrays 
 'DispArray_1' 
 'DispArray_2' 
 1 0 2 
 0 ; velocity arrays 
Here we have defined two dispersion arrays. The first one will be used for substance 1, the second one for substance 3. For substance 2 only the uniform dispersion coefficients will be used.
Now we have to modify our *dsp file accordingly by adding an extra column for the second dispersion array:
 ;Data option: 
 1 ; InformationInformation is constant and input will be provided without defaults 
 ; See section 11.2 of the input file description manual 
 ; 
 ; first direction 
 ; 
 1.0 ; scale factor 
 ; dispersion values as a matrix with shape nb_of_exchanges x nb_dispersion_arrays: 
 2.0000e+01 3.1000e+01 ; dispersion coeffs for 1st exchange in first direction for dispersion arrays 1 and 2 
 2.1000e+01 3.2000e+01 ; dispersion coeffs for 2nd exchange in first direction for dispersion arrays 1 and 2 
 1.8000e+01 3.2000e+01 ; dispersion coeffs for 3rd exchange in first direction for dispersion arrays 1 and 2 
 1.7000e+01 3.3000e+01 ; dispersion coeffs for 4th exchange in first direction for dispersion arrays 1 and 2 
 ... 
 2.5000e+01 3.6000e+01 ; dispersion coeffs for last exchange in first direction for dispersion arrays 1 and 2 
 ; 
 ; second direction 
 ; 
 1.0 ; scale factor 
 ; dispersion values as a matrix with shape nb_exchanges x nb_dispersion_arrays: 
 2.0000e+01 3.4000e+01 ; dispersion coeffs for 1st exchange in second direction for dispersion arrays 1 and 2 
 2.1000e+01 3.8000e+01 ; dispersion coeffs for 2nd exchange in second direction for dispersion arrays 1 and 2 
 1.8000e+01 3.9000e+01 ; dispersion coeffs for 3rd exchange in second direction for dispersion arrays 1 and 2 
 1.7000e+01 3.9000e+01 ; dispersion coeffs for 4th exchange in second direction for dispersion arrays 1 and 2 
 ... 
 2.5000e+01 3.3000e+01 ; dispersion coeffs for last exchange in first direction for dispersion arrays 1 and 2 


 ; no third direction (2D model) 
If you have a lot of redundant values, you can specify defaults in your *.dsp file. For more info have a look at the input file description manual:
 section 4.3
 section 4.5.1
 section 11.2 (look for the text under "ASCII input if the first option was 1 or 1")
To know the number of an exchange between two segments you will have to look into the pointer file (*.poi).
The *.poi file is just a sequence of integers representing the from, to, from1 and to+1 segment numbers of each exchange.
So the first four integers refer to exchange 1, the next four to exchange 2, etc...
The segment numbers can be visualized with quickplot.
Hope this helps.