Create a new model run using the given SCO-API create model run Url.

        Parameters
        ----------
        url : string
            Url to POST model run create model run request
        model_id : string
            Unique model identifier
        name : string
            User-defined name for model run
        arguments : Dictionary
            Dictionary of arguments for model run
        properties : Dictionary, optional
            Set of additional properties for created mode run.

        Returns
        -------
        string
            Url of created model run resource

def create(url, model_id, name, arguments, properties=None):
        """Create a new model run using the given SCO-API create model run Url.

        Parameters
        ----------
        url : string
            Url to POST model run create model run request
        model_id : string
            Unique model identifier
        name : string
            User-defined name for model run
        arguments : Dictionary
            Dictionary of arguments for model run
        properties : Dictionary, optional
            Set of additional properties for created mode run.

        Returns
        -------
        string
            Url of created model run resource
        """
        # Create list of model run arguments. Catch TypeErrors if arguments is
        # not a list.
        obj_args = []
        try:
            for arg in arguments:
                obj_args.append({'name' : arg, 'value' : arguments[arg]})
        except TypeError as ex:
            raise ValueError('invalid argument set')
        # Create request body and send POST request to given Url
        body = {
            'model' : model_id,
            'name' : name,
            'arguments' : obj_args,
        }
        # Create list of properties if given.  Catch TypeErrors if properties is
        # not a list.
        if not properties is None:
            obj_props = []
            try:
                for key in properties:
                    if key != 'name':
                        obj_props.append({'key':key, 'value':properties[key]})
            except TypeError as ex:
                raise ValueError('invalid property set')
            body['properties'] =  obj_props
        # POST create model run request
        try:
            req = urllib2.Request(url)
            req.add_header('Content-Type', 'application/json')
            response = urllib2.urlopen(req, json.dumps(body))
        except urllib2.URLError as ex:
            raise ValueError(str(ex))
        # Get model run self reference from successful response
        return references_to_dict(json.load(response)['links'])[REF_SELF]