#
import parse_c4i_catalog
import netCDF4

catalog_url = "http://opendap.knmi.nl/knmi/thredds/catalog/"
opendap_url = "http://opendap.knmi.nl/knmi/thredds/dodsC/"



def checkVariable( nc_fid, variable, answer, count1):
	try:
		answer[variable] = nc_fid.getncattr(variable)
	except Exception, e:
		count1 += 1
		print "variable is not there "+variable



def testMetadata(ncattributes, files):
	answer = {}
	# metadata variables... (ncattributes)

	print "files: ", len(files)

	count = 0

	for f in files:
		print f
		
		nc_fid = netCDF4.Dataset( opendap_url+f,'r',answer)

		for v in ncattributes:
			checkVariable(nc_fid,v,answer,count)
		
	print "variables failed = " , count

	return answer		


variables =	[	"title",
				"summary",
				"description",
				"keywords",
				"driving_experiment",
				"comment",
				"institute_id",
				"in_var_institution",
				"contact",
				"contact_mail",
				"creation_date",
				"time_coverage_start",
				"time_coverage_end",
				"geospatial_lat_min",
				"geospatial_lat_max",
				"geospatial_lon_min",
				"geospatial_lon_max",
				"resolution"]


def testMetadataCat(target_url):
	files = []

	parse_c4i_catalog.listThredds(cat=catalog_url, cid=target_url ,ext="catalog.xml", links=files)

	testMetadata(variables,files)



testMetadataCat("CLIPC/jki/sfextensive3/")
testMetadataCat("CLIPC/cerfacs/vDTR/")