//alert ("Activated data.js")

//This js is a control file used to create and change on the fly the request
// data form.

//dataType Object Definition
function dataType (name, sources) {
  this.name = name 		// a string
  this.sources = sources 	// an array of dataSource objects
  this.show = showType      // creates an alert listing the dataType properties
}

//showType Object Method
function showType() {
  alert("dataType:\nName: "+this.name+"\nSources: "+this.sources)
}

//dataSource Object Definition
function dataSource (name, formats) {
  this.name = name 		// a string
  this.formats = formats 	// an array of dataFormat objects
  this.show = showSource  // creates an alert listing the dataSource properties
}

//showSource Object Method
function showSource() {
  alert("dataSource:\nName: "+this.name+"\nFormats: "+this.formats)
}

//dataFormat Object Definition
function dataFormat (name, startDate, cycleTimes, forecastHours, forecastDuration, gridSize) {
  this.name = name 				// a string
  this.startDate = startDate 			// a date object
  this.cycleTimes = cycleTimes 			// an array 
  this.forecastHours = forecastHours		// an array
  this.forecastDuration = forecastDuration	// an array
  this.gridSize = gridSize 			// an array 
  this.show = showFormat  // creates an alert listing the dataFormat properties
}

//showFormat Object Method
function showFormat() {
  alert("dataFormat:\nName: "+this.name+"\nStart Date: "+this.startDate.print()+"\nCycle Times: "+this.cycleTimes+"\nForecast Hours: "+this.forecastHours+"\nForecast Duration: "+this.forecastDuration+"\nGrid Size: "+this.gridSize)
}

// A function to make array manipulation easier
function getNewArray(myArray,start,end,skip) {
  var returnArray = new Array()
  var myI = 0
  if (skip == undefined ) { skip = new Array() }
  for (i=start;i<=end;++i) {
    var skiping = false
    for (j=0;j<skip.length;++j) {
      if(skip[j] == i ) { skiping = true }
    }
    if ( !skiping ) {
      returnArray[myI] = myArray[i]
      ++myI
    }
  } 
  return returnArray
}

//Commonly used variables
var CT4 = new Array ("00z", "06z", "12z", "18z")
var CT3 = new Array ("00z", "12z", "18z")
var CT2 = new Array ("00z", "12z")
var CT1 = new Array ("12z")
var FHall = new Array ("F006", "F012", "F018", "F024", "F030", "F036", "F042", "F048", "F054", "F060", "F066", "F072", "F078", "F084", "F120")
var FH1day = new Array()
    FH1day = getNewArray(FHall, 0, 3)
var FH2day = new Array()
    FH2day = getNewArray(FHall, 0, 7)
var FHndfd = new Array()
    FHndfd = getNewArray(FHall, 0, 9)
var FH3day = new Array()
    FH3day = getNewArray(FHall, 0, 11)
var FHhpc = new Array()
    var skipA = new Array(12, 13)
    FHhpc = getNewArray(FHall, 0, 14, skipA)
var FHmdl = new Array()
    FHmdl = getNewArray(FHall, 0, 13)
var FH24 = new Array("F024")
var FDall = new Array ("06hr", "24hr", "48hr", "72hr")
var FDmos = new Array ("06hr")
var FDstd = new Array ("06hr", "24hr" )
var FDwest = new Array ("06hr", "24hr", "72hr")
var FDffg = new Array ("1hr", "3hr", "6hr")
    
//QPF dataType
  //HPC dataSource
    //GRIB dataFormat
      var sd = new myDate(2001,9,1)
      var grib = new dataFormat("GRIB Message", sd, CT4)
    //GRID dataFormat
      var sd = new myDate(1999,12,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("221us", "240cr", "240er", "240sr", "240wr")
    //GIF dataFormat
      var sd = new myDate(1999,12,6)
      var gif = new dataFormat("Gif Image", sd, CT4, FHhpc, FDall)
    var formats = new Array (grib, grid, gif)
    var hpc = new dataSource("HPC", formats)
  //HPC-MM-CB
    //GRIB dataFormat
      var sd = new myDate(2003,1,1)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2003,1,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array( "218ss", "221us", "240wr" )
    //GIF dataFormat
      var sd = new myDate(2003,1,1)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var hpc_mm_cb = new dataSource("HPC-MM-CB", formats)
  //HPC-MM-CN
    //GRIB dataFormat
      var sd = new myDate(2003,1,1)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2003,1,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ( "218ss", "221us", "240wr")
    //GIF dataFormat
      var sd = new myDate(2003,1,1)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var hpc_mm_cn = new dataSource("HPC-MM-CN", formats)
  //HPC-MM-NW
    //GRIB dataFormat
      var sd = new myDate(2003,1,1)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2003,1,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("218ss", "221us", "240wr")
    //GIF dataFormat
      var sd = new myDate(2003,1,1)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var hpc_mm_nw = new dataSource("HPC-MM-NW", formats)
  //NDFD dataSource
    //GRIB dataFormat
      var sd = new myDate(2004,9,22)
      var grib = new dataFormat("GRIB Message", sd, CT4)
    //GRID dataFormat
      var sd = new myDate(2004,10,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("5km", "221us", "240cr", "240er", "240sr", "240wr" )         
    //GIF dataFormat
      var sd = new myDate(2004,10,23)
      var gif = new dataFormat("Gif Image", sd, CT1, FHndfd, FDstd)
    var formats = new Array (grib, grid, gif)
    var ndfd = new dataSource("NDFD", formats)
  //NDFD-SJU dataSource
    //GRIB dataFormat
     var sd = new myDate(2005,6,1)
     var grib = new dataFormat("GRIB Message", sd, CT4)
   //GRID dataFormat
     var sd = new myDate(2005,6,0)
     var grid = new dataFormat("Gempak Grid", sd)
       grid.gridSize = new Array ("5km", "sju32", "sju4")
   //GIF dataFormat
     var sd = new myDate(2005,6,1)
     var gif = new dataFormat("Gif Image", sd, CT1, FHndfd, FDstd)
   var formats = new Array (grib, grid, gif)
   var ndfdsju = new dataSource("NDFD-SJU", formats)
  //AVN-GFS dataSource
    //GRID dataFormat
      var sd = new myDate(1998,8,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.forecastDuration = FDstd
        grid.gridSize = new Array ("003", "221us", "240cr", "240er", "240sr", "240wr", "sju32", "sju4")
    //GIF dataFormat
      var sd = new myDate(2000,3,1)
      var gif = new dataFormat("Gif Image", sd, CT4, FHmdl, FDstd) 
    var formats = new Array (grid, gif)
    var avn = new dataSource ("AVN/GFS", formats)
  //ETA-NAM dataSource
    //GRID dataFormat
      var sd = new myDate(1998,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.forecastDuration = FDstd
        grid.gridSize = new Array ("221", "221us", "240cr", "240er", "240sr", "240wr", "sju32", "sju4")
    //GIF dataFormat
      var sd = new myDate(1999,1,5)
      var gif = new dataFormat("Gif Image", sd, CT4, FHmdl, FDstd)
    var formats = new Array(grid, gif)
    var eta = new dataSource ("Eta/NAM", formats)
  //NGM dataSource
    //GRID dataFormat
      var sd = new myDate(1998,5,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.forecastDuration = FDstd
        grid.gridSize = new Array ("104", "221us", "240cr", "240er", "240sr", "240wr", "sju32", "sju4")
    //GIF dataFormat
      var sd = new myDate(1998,9,1)
      var gif = new dataFormat("Gif Image", sd, CT2, FH2day, FDstd)
    var formats = new Array(grid, gif)
    var ngm = new dataSource ("NGM", formats)
  //ABRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240sr")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT4, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var abrfc = new dataSource("ABRFC", formats)
  //CBRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,18)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("218ss", "221us", "240wr")
    //GIF dataFormat
      var sd = new myDate(2000,9,18)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var cbrfc = new dataSource("CBRFC", formats)
  //CNRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,10,24)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,10,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240wr")
    //GIF dataFormat
      var sd = new myDate(2000,10,24)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var cnrfc = new dataSource("CNRFC", formats)
  //LMRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240sr")
    //GIF dataFormat
      var sd = new myDate(2000,6,7)
      var gif = new dataFormat("Gif Image", sd, CT2, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var lmrfc = new dataSource("LMRFC", formats)
  //MARFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,7,3)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240er")
    //GIF dataFormat
      var sd = new myDate(2000,6,26)
      var gif = new dataFormat("Gif Image", sd, CT3, FH2day, FDstd)
    var formats = new Array (grib, grid, gif)
    var marfc = new dataSource("MARFC", formats)
  //MBRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240cr")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT3, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var mbrfc = new dataSource("MBRFC", formats)
  //NCRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240cr")
    //GIF dataFormat
      var sd = new myDate(2000,6,6)
      var gif = new dataFormat("Gif Image", sd, CT3, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var ncrfc = new dataSource("NCRFC", formats)
  //NERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240er")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT2, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var nerfc = new dataSource("NERFC", formats)
  //NWRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,10,23)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,10,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "24owr")
    //GIF dataFormat
      var sd = new myDate(2000,10,23)
      var gif = new dataFormat("Gif Image", sd, CT1, FH3day, FDwest)
    var formats = new Array (grib, grid, gif)
    var nwrfc = new dataSource("NWRFC", formats)
  //OHRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,16)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240er")
    //GIF dataFormat
      var sd = new myDate(2000,6,19)
      var gif = new dataFormat("Gif Image", sd, CT2, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var ohrfc = new dataSource("OHRFC", formats)
  //SERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240sr")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT2, FH2day, FDstd)
    var formats = new Array (grib, grid, gif)
    var serfc = new dataSource("SERFC", formats)
  //WGRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,15)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss", "221us", "240sr")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT3, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var wgrfc = new dataSource("WGRFC", formats)
  //Mosaic dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,12,1)
      var grib = new dataFormat("GRIB Message", sd, CT4, FH3day, FDmos)
    //GRID dataFormat
      var sd = new myDate(2001,3,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("218ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,13)
      var gif = new dataFormat("Gif Image", sd, CT4, FH3day, FDstd)
    var formats = new Array (grib, grid, gif)
    var mosaic = new dataSource("Mosaic of RFCs", formats)
  var srcs = new Array (hpc, hpc_mm_cb, hpc_mm_cn, hpc_mm_nw, ndfd, ndfdsju, avn, eta, ngm, abrfc, cbrfc, cnrfc, lmrfc, marfc, mbrfc, ncrfc, nerfc, nwrfc, ohrfc, serfc, wgrfc, mosaic)
  var qpf = new dataType("QPF", srcs)
//QPE dataType
  //ABRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,5)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var abrfc = new dataSource("ABRFC", formats)
  //CBRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,7,27)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,7,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,9,13)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var cbrfc = new dataSource("CBRFC", formats)
  //CNRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,29)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,10,24)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var cnrfc = new dataSource("CNRFC", formats)
  //LMRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,5)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var lmrfc = new dataSource("LMRFC", formats)
  //MARFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,7,18)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,7,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,7,18)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var marfc = new dataSource("MARFC", formats)
  //MBRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,5)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var mbrfc = new dataSource("MBRFC", formats)
  //NCRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,14)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,15)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var ncrfc = new dataSource("NCRFC", formats)
  //NERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,5)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var nerfc = new dataSource("NERFC", formats)
  //NWRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,7,9)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,7,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,10,2)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var nwrfc = new dataSource("NWRFC", formats)
  //OHRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,26)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,26)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var ohrfc = new dataSource("OHRFC", formats)
  //SERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,5)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,5)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var serfc = new dataSource("SERFC", formats)
  //SJU dataSource
    //GRIB dataFormat
      var sd = new myDate(2001,3,26)
      var grib = new dataFormat("Grib Message", sd)
    //GRID dataFormat
      var sd = new myDate(2001,3,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "sju32")
    //GIF dataFormat
      var sd = new myDate(2001,3,26)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var sju = new dataSource("SJU", formats)
  //WGRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,6,6)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,6,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array ("240ss", "221us")
    //GIF dataFormat
      var sd = new myDate(2000,6,9)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var wgrfc = new dataSource("WGRFC", formats)
  //Mosaic dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,10,1)
      var grib = new dataFormat("GRIB Message", sd, CT1, FH1day, FDmos)
    //GRID dataFormat
      var sd = new myDate(2001,4,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,14)
      var gif = new dataFormat("Gif Image", sd, CT1, FH1day, FDstd)
    var formats = new Array (grib, grid, gif)
    var mosaic = new dataSource("Mosaic of RFCs", formats)
  var srcs = new Array (abrfc, cbrfc, cnrfc, lmrfc, marfc, mbrfc, ncrfc, nerfc, nwrfc, ohrfc, serfc, sju, wgrfc, mosaic)
  var qpe = new dataType("QPE", srcs)
//FFG dataType
  //ABRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,14)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,14)
      var gif = new dataFormat("Gif Image", sd, CT4, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var abrfc = new dataSource("ABRFC", formats)
  //LMRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,20)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,20)
      var gif = new dataFormat("Gif Image", sd, CT4, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var lmrfc = new dataSource("LMRFC", formats)
  //MARFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,14)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,14)
      var gif = new dataFormat("Gif Image", sd, CT2, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var marfc = new dataSource("MARFC", formats)
  //MBRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,13)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,21)
      var gif = new dataFormat("Gif Image", sd, CT2, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var mbrfc = new dataSource("MBRFC", formats)
  //NCRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,27)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,27)
      var gif = new dataFormat("Gif Image", sd, CT2, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var ncrfc = new dataSource("NCRFC", formats)
  //NERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,19)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,19)
      var gif = new dataFormat("Gif Image", sd, CT1, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var nerfc = new dataSource("NERFC", formats)
  //OHRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,18)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,18)
      var gif = new dataFormat("Gif Image", sd, CT2, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var ohrfc = new dataSource("OHRFC", formats)
  //SERFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,20)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,20)
      var gif = new dataFormat("Gif Image", sd, CT3, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var serfc = new dataSource("SERFC", formats)
  //WGRFC dataSource
    //GRIB dataFormat
      var sd = new myDate(2000,9,26)
      var grib = new dataFormat("GRIB Message", sd)
    //GRID dataFormat
      var sd = new myDate(2000,9,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,26)
      var gif = new dataFormat("Gif Image", sd, CT4, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var wgrfc = new dataSource("WGRFC", formats)
  //Mosaic dataSource
    //GRIB dataFormat
      var sd = new myDate(2001,8,1)
      var grib = new dataFormat("GRIB Message", sd, CT4, FH24, FDffg)
    //GRID dataFormat
      var sd = new myDate(2001,5,0)
      var grid = new dataFormat("Gempak Grid", sd)
        grid.gridSize = new Array("240ss")
    //GIF dataFormat
      var sd = new myDate(2000,9,24)
      var gif = new dataFormat("Gif Image", sd, CT4, FH24, FDffg)
    var formats = new Array (grib, grid, gif)
    var mosaic = new dataSource("Mosaic of RFCs", formats)
  var srcs = new Array (abrfc, lmrfc, marfc, mbrfc, ncrfc, nerfc, ohrfc, serfc, wgrfc, mosaic)
  var ffg = new dataType("FFG", srcs)

var typeList = new Array (qpf, qpe, ffg)
