I am calling the function bst_granger_spectral in script with the following inputs:
X = 14 channels x 2000 samples x 50 trials
Y = 14 channels x 2000 samples x 50 trials
Fs=1000;
order=10;
inputs.freq=[1:60];
inputs.freqResolution = 0.1;
inputs.nTrials=50;
inputs.flagFPE='true';

and I'm calling the function in the following way:

[connectivity, pValues, freq] = bst_granger_spectral(X, Y, Fs, order, inputs);

The contour plots from each frequency seem interesting (https://imgur.com/5JQ6YaQ), however, the P value is a single NaN value. I am new to granger causality analysis and I am still unsure how to interpret these results, especially if the P value is NaN. What is going wrong?

oh I see. I am told by my co worker that the granger connectivity matrix is supposed to range between -1 and 1. However, the values outputed by bst_granger_spectral.m gives values between 0 and 1. Why is this the case?

For Granger connectivity there is no range of values. It can be anything positive. For spectral Granger also there might be some normalization in code. As far as I know there is no negative value defined for Granger causality. It shows the amount of influence from one channel to another (the direction is coded in the counterpart element). So, [0 1] is an acceptable range.