def _create_datacfg_dict(cfg):
    """
    creates a data configuration dictionary from a config dictionary

    Parameters
    ----------
    cfg : dict
        config dictionary

    Returns
    -------
    datacfg : dict
        data config dictionary

    """

    datacfg = dict({'datapath': cfg['datapath']})
    datacfg.update({'satpath': cfg['satpath']})
    datacfg.update({'psrpath': cfg['psrpath']})
    datacfg.update({'iqpath': cfg['iqpath']})
    datacfg.update({'ScanList': cfg['ScanList']})
    datacfg.update({'TimeTol': cfg['TimeTol']})
    datacfg.update({'NumRadars': cfg['NumRadars']})
    datacfg.update({'cosmopath': cfg['cosmopath']})
    datacfg.update({'dempath': cfg['dempath']})
    datacfg.update({'loadbasepath': cfg['loadbasepath']})
    datacfg.update({'loadname': cfg['loadname']})
    datacfg.update({'RadarName': cfg['RadarName']})
    datacfg.update({'RadarRes': cfg['RadarRes']})
    datacfg.update({'ScanPeriod': cfg['ScanPeriod']})
    datacfg.update({'CosmoRunFreq': int(cfg['CosmoRunFreq'])})
    datacfg.update({'CosmoForecasted': int(cfg['CosmoForecasted'])})
    datacfg.update({'path_convention': cfg['path_convention']})
    datacfg.update({'metranet_read_lib': cfg['metranet_read_lib']})

    # Modify size of radar or radar spectra object
    datacfg.update({'elmin': cfg.get('elmin', None)})
    datacfg.update({'elmax': cfg.get('elmax', None)})
    datacfg.update({'azmin': cfg.get('azmin', None)})
    datacfg.update({'azmax': cfg.get('azmax', None)})
    datacfg.update({'rmin': cfg.get('rmin', None)})
    datacfg.update({'rmax': cfg.get('rmax', None)})

    # Modify size of grid object
    datacfg.update({'latmin': cfg.get('latmin', None)})
    datacfg.update({'latmax': cfg.get('latmax', None)})
    datacfg.update({'lonmin': cfg.get('lonmin', None)})
    datacfg.update({'lonmax': cfg.get('lonmax', None)})
    datacfg.update({'altmin': cfg.get('altmin', None)})
    datacfg.update({'altmax': cfg.get('altmax', None)})
    datacfg.update({'nx': cfg.get('nx', None)})
    datacfg.update({'ny': cfg.get('ny', None)})
    datacfg.update({'nz': cfg.get('nz', None)})

    # variables to get the spectral data
    datacfg.update({'undo_txcorr': cfg.get('undo_txcorr', True)})
    datacfg.update({'fold': cfg.get('fold', True)})
    datacfg.update({'positive_away': cfg.get('positive_away', True)})
    datacfg.update({'cpi': cfg.get('cpi', 'low_prf')})
    datacfg.update({'ang_tol': cfg.get('ang_tol', 0.5)})

    # Radar position
    if 'RadarPosition' in cfg:
        datacfg.update({'RadarPosition': cfg['RadarPosition']})

    # Instrument parameters
    if 'frequency' in cfg:
        datacfg.update({'frequency': cfg['frequency']})
    if 'radar_beam_width_h' in cfg:
        datacfg.update({'radar_beam_width_h': cfg['radar_beam_width_h']})
    if 'radar_beam_width_v' in cfg:
        datacfg.update({'radar_beam_width_v': cfg['radar_beam_width_v']})
    if 'pulse_width' in cfg:
        datacfg.update({'pulse_width': cfg['pulse_width']})
    if 'nyquist_velocity' in cfg:
        datacfg.update({'nyquist_velocity': cfg['nyquist_velocity']})
    if 'AntennaGainH' in cfg:
        datacfg.update({'AntennaGainH': cfg['AntennaGainH']})
    if 'AntennaGainV' in cfg:
        datacfg.update({'AntennaGainV': cfg['AntennaGainV']})
    if 'AntennaGainV' in cfg:
        datacfg.update({'AntennaGainV': cfg['AntennaGainV']})
    if 'AntennaGainV' in cfg:
        datacfg.update({'AntennaGainV': cfg['AntennaGainV']})
    if 'altitude' in cfg:
        datacfg.update({'altitude': cfg['altitude']})
    if 'latitude' in cfg:
        datacfg.update({'latitude': cfg['latitude']})
    if 'longitude' in cfg:
        datacfg.update({'longitude': cfg['longitude']})
        
    # Radar calibration parameters
    if 'dBADUtodBmh' in cfg:
        datacfg.update({'dBADUtodBmh': cfg['dBADUtodBmh']})
    if 'dBADUtodBmv' in cfg:
        datacfg.update({'dBADUtodBmv': cfg['dBADUtodBmv']})
    if 'mflossh' in cfg:
        datacfg.update({'mflossh': cfg['mflossh']})
    if 'mflossv' in cfg:
        datacfg.update({'mflossv': cfg['mflossv']})
    if 'radconsth' in cfg:
        datacfg.update({'radconsth': cfg['radconsth']})
    if 'radconstv' in cfg:
        datacfg.update({'radconstv': cfg['radconstv']})
    if 'txpwrh' in cfg:
        datacfg.update({'txpwrh': cfg['txpwrh']})
    if 'txpwrv' in cfg:
        datacfg.update({'txpwrv': cfg['txpwrv']})
    if 'attg' in cfg:
        datacfg.update({'attg': cfg['attg']})
    if 'attg' in cfg:
        datacfg.update({'attg': cfg['attg']})
    if 'mosotti_factor' in cfg:
        datacfg.update({'mosotti_factor': cfg['mosotti_factor']})
    if 'refcorr' in cfg:
        datacfg.update({'refcorr': cfg['refcorr']})      
    if 'AzimTol' in cfg:
        datacfg.update({'AzimTol': cfg['AzimTol']})              
    return datacfg