I'm not sure this is the issue, but you've added "dojo/_base/array" twice, once after Keys and once before TooltipDialog.
When I add many modules, I find it more helpful to organize them logically
require(["dojo/_base/array",
"dojo/_base/declare",
"dojo/_base/lang",
"dojo/Deferred",
"dojo/json",
"dojo/ready",
"dojox/gfx/fx",
"dgrid/OnDemandGrid",
"dgrid/Selection",
"dgrid/selector",
"dgrid/extensions/ColumnResizer",
"dgrid/extensions/ColumnHider",
"dgrid/util/mouse",
"dgrid/extensions/DijitRegistry",
"dijit/MenuItem",
"dijit/layout/TabContainer",
"dijit/registry",
"esri/map",
"esri/InfoTemplate",
"esri/dijit/Basemap",
"esri/dijit/BasemapGallery",
"esri/dijit/BasemapLayer",
"esri/dijit/Scalebar",
"modules/DVParameters",
"agsjs/dijit/TOC",
"dojo/fx",
"dojo/domReady!"
], function (array, declare, lang, Deferred, JSON, ready,
fx,
Grid, Selection, selector, ColumnResizer, ColumnHider, mouseUtil, DijitRegistry,
MenuItem, TabContainer, registry,
Map, InfoTemplate,
Basemap, BasemapGallery, BasemapLayer, Scalebar,
DVParameters
) {