def query_server(self,outfile,age,metallicity):
        """ Server query for the isochrone file.

        Parameters:
        -----------
        outfile     : name of output isochrone file
        age         : isochrone age
        metallicity : isochrone metallicity
        
        Returns:
        --------
        outfile     : name of output isochrone file
        """
        params = copy.deepcopy(self.download_defaults)

        epsilon = 1e-4
        lage = np.log10(age*1e9)
        lage_min,lage_max = params['isoc_lage0'],params['isoc_lage1']
        if not (lage_min-epsilon < lage <lage_max+epsilon):
            msg = 'Age outside of valid range: %g [%g < log(age) < %g]'%(lage,lage_min,lage_max)
            raise RuntimeError(msg)

        z_min,z_max = params['isoc_z0'],params['isoc_z1']
        if not (z_min <= metallicity <= z_max):
            msg = 'Metallicity outside of valid range: %g [%g < z < %g]'%(metallicity,z_min,z_max)
            raise RuntimeError(msg)
        
        params['photsys_file'] = photsys_dict[self.survey]
        params['isoc_age']     = age * 1e9
        params['isoc_zeta']    = metallicity

        server = self.download_url
        url = server + '/cgi-bin/cmd_%s'%params['cmd_version']
        # First check that the server is alive
        logger.debug("Accessing %s..."%url)
        urlopen(url,timeout=2)

        q = urlencode(params).encode('utf-8')
        logger.debug(url+'?'+q)
        c = str(urlopen(url, q).read())
        aa = re.compile('output\d+')
        fname = aa.findall(c)
        
        if len(fname) == 0:
            msg = "Output filename not found"
            raise RuntimeError(msg)

        out = '{0}/tmp/{1}.dat'.format(server, fname[0])
        
        cmd = 'wget --progress dot:binary %s -O %s'%(out,outfile)
        logger.debug(cmd)
        stdout = subprocess.check_output(cmd,shell=True,stderr=subprocess.STDOUT)
        logger.debug(stdout)

        return outfile
Server query for the isochrone file.

        Parameters:
        -----------
        outfile     : name of output isochrone file
        age         : isochrone age
        metallicity : isochrone metallicity
        
        Returns:
        --------
        outfile     : name of output isochrone file