Index: /trunk/docs/VOrequirements.tex
===================================================================
--- /trunk/docs/VOrequirements.tex	(revision 76)
+++ /trunk/docs/VOrequirements.tex	(revision 77)
@@ -257,4 +257,26 @@
 but would need some way of accessing the query parameters.
 
+
+\section{Other good things to have}
+
+\subsection{Plot of fields}
+
+It may be good to have a diagram showing which fields are
+available. This would be a whole-sky plot showing the field outlines,
+coloured according to whether they are present in the database. This
+might be good as, although the S70 is nominally all the southern sky,
+it is possible/likely that there are missing fields. Also, if the data
+is made public in stages then this gives a good guide as to what is
+available.
+
+The field outlines I would envision being governed by the beam sizes,
+so you would have a series of circles on the sky-plot. These would
+probably not quite overlap, but it would still be a good visual
+guide. 
+
+It might be possible to eventually make the image linkable, so that
+one could click on a region and go straight to the download page for
+that particular file. But this is definitely a ``wish-list'' item.
+
 \end{document}
 % LocalWords:  conesearch metadata
Index: /trunk/sql/create_table_s70.sql
===================================================================
--- /trunk/sql/create_table_s70.sql	(revision 76)
+++ /trunk/sql/create_table_s70.sql	(revision 77)
@@ -1,4 +1,6 @@
+-- if the table exists, drop it so we can reload it
 DROP TEMPORARY TABLE IF EXISTS s70;
 
+-- create the table with the following fields
 CREATE TEMPORARY TABLE s70 (
 	file_id SMALLINT UNSIGNED AUTO_INCREMENT,
@@ -23,7 +25,13 @@
 );
 
+-- now load the data from the file in $PVO. It is a csv file, and the
+-- strings in it are enclosed by ". We don't want the quote marks in
+-- the table, so the "OPTIONALLY ENCLOSED BY" statement will remove
+-- them
 LOAD DATA LOCAL
 INFILE "/DATA/SITAR_1/whi550/VO/PulsarVO/s70v_summary.csv"
 INTO TABLE s70
 FIELDS TERMINATED BY ","
+OPTIONALLY ENCLOSED BY "\""
+IGNORE 1 LINES  -- this ignores the first line in the csv file which contains the column headers.
 (filename,fileloc,hdrver,src_name,raj,decj,rajd,decjd,bmaj,bmin,bpa,date_obs,obsfreq,chanbw,nchan,scanlen,tbin);
Index: /trunk/src/pvo-metadata.cc
===================================================================
--- /trunk/src/pvo-metadata.cc	(revision 76)
+++ /trunk/src/pvo-metadata.cc	(revision 77)
@@ -55,4 +55,13 @@
       if(fitsfile.getKeyword<float>("SCANLEN",this->scanlen)!=0) this->scanlen = nullFloat;
 
+      float imjd,smjd;
+      if(fitsfile.getKeyword<float>("STT_IMJD",imjd)!=0) this->mjd = nullFloat;
+      else{
+	fitsfile.getKeyword<float>("STT_SMJD",smjd);
+	this->mjd = imjd + smjd / (24.*3600.);
+      }
+
+      ////////////////////
+      // From here, we get information from the HISTORY table.
       fitsfile.gotoHistory();
       if(fitsfile.readColumnValue("TBIN",1,&this->tbin)!=0) this->tbin = nullFloat;
@@ -86,4 +95,14 @@
 	std::stringstream ss;
 	ss << std::fixed << std::setprecision(fltwidth) << f;
+	return ss.str();
+      }
+      else return nullString;
+    }
+
+    std::string doubleToString(double d)
+    {
+      if(d > nullFloat){
+	std::stringstream ss;
+	ss << std::fixed << std::setprecision(dubwidth) << d;
 	return ss.str();
       }
@@ -196,4 +215,5 @@
 	      << "BPA,"
 	      << "Date-Obs,"
+	      << "MJD,"
 	      << "Obsfreq,"
 	      << "ChanBW,"
@@ -229,4 +249,5 @@
 		<< floatToString(datalist[i].getBpa())      << ","
 		<< datalist[i].getDate()                    << ","
+		<< doubleToString(datalist[i].getMJD())     << ","
 		<< floatToString(datalist[i].getObsfreq())  << ","
 		<< floatToString(datalist[i].getChanbw())   << ","
Index: /trunk/src/pvo-metadata.hh
===================================================================
--- /trunk/src/pvo-metadata.hh	(revision 76)
+++ /trunk/src/pvo-metadata.hh	(revision 77)
@@ -13,8 +13,11 @@
 
     /** The precision for printing floats */
-    const int     fltwidth=4;
+    const int   fltwidth=4;
+    /** The precision for printing doubles */
+    const int   dubwidth=6;
 
-    std::string   floatToString(float f);
-    std::string   intToString(int i);
+    std::string doubleToString(double d);
+    std::string floatToString(float f);
+    std::string intToString(int i);
 
     const std::string metadataList=
@@ -38,4 +41,5 @@
  BMIN           The FWHM of the minor axis of the beam.\n\
  BPA            The position angle of the beam.\n\
+ MJD            The Modified Julian Date of the start of the observation.\n\
  ChanBW         The channel bandwidth (from the HISTORY table).\n\
  Nchan          Number of channels (from the HISTORY table).\n\
@@ -90,4 +94,6 @@
       float       getBpa(){return bpa;};
       void        setBpa(float f){bpa=f;};
+      double      getMJD(){return mjd;};
+      void        setMJD(double d){mjd=d;};
       float       getObsfreq(){return obsfreq;};
       void        setObsfreq(float f){obsfreq=f;};
@@ -123,4 +129,5 @@
       float       bmin;
       float       bpa;
+      double      mjd;
       float       obsfreq;
       float       tbin;
