def create_json_file(dl_root, network, version, network_provided_meta_file, meta_params):

    identifier = meta_params['identifier']
    delimiter_csv = meta_params['delimiter_meta_csv']

    json_metadata = {}  
    with open(network_provided_meta_file) as file:
        csv_filedata = csv.DictReader(file, delimiter=delimiter_csv)

        for row in csv_filedata:  
            key = row[identifier]
            update_date = datetime.datetime.utcnow().strftime('%Y-%m-%d') # check whether networks have a 'last changed' variable
            for parameter in row:
                row[parameter] = {'values': [row[parameter]], 'update_time': [update_date]} # create inner dictionary for every parameter
            json_metadata[key] = row


        # check for punctuation of lat, lon, alt, height
        for punct_variable in ['Latitude', 'Longitude', 'Altitude', 'Height']: # standard GHOST names
            if punct_variable in meta_params.keys():
                for network_spec_var_name in meta_params[punct_variable]: # loop through all possible variable names in one network, usually it should just be one name 
                    for station in json_metadata: # loop through all stations
                        if network_spec_var_name in json_metadata[station]: # clean punctuation discrepancies
                            input_val = json_metadata[station][network_spec_var_name]['values'][0] # check values
                            if input_val == '': # check if its empty string
                                output_val = None
                            elif input_val == '-':  # check if its dash
                                output_val = None
                            else:
                                output_val = input_val.replace(',', '.')
                                output_val = output_val.replace(' ', '')
                                output_val = str(float(output_val))

                            json_metadata[station][network_spec_var_name]['values'][0] = output_val
                            
                        else:
                            continue
            else:
                continue

    return json_metadata