Model.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:MOSPAT 作者: CR2MOS 项目源码 文件源码
def perform_read(model_name, var_name, dest_dict, read_routine):
    """
    Retrieve data from read_routine and formats it into dest_disc

    :param model_name: String. The name of the model.
    :param var_name: String. The name of the variable.
    :param dest_dict: Dictionary. Where data will be stored
    :param read_routine: lambda. Lambda that wrap the read routine to use it as an argument for this function.
    :return:

    Perform the given read_routine and updates the data of dest_dict.
    """
    if model_name not in dest_dict:
        new_data = read_routine((model_name, var_name))

        if new_data is not None:
            f_data, f_lat, f_lon, d_time, c_ModelFile, c_TimeFreq, c_Units = new_data
        else:
            logging.warning('No data for model %s and variable %s', model_name, var_name)
            return  # Solo para detener la ejecucion.

        t_temp = {'f_Lat': f_lat,
                  'f_Lon': f_lon,
                  'd_Time': np.array(d_time),
                  'f_Time': date2num(d_time),
                  'c_TimeFreq': c_TimeFreq}

        dest_dict[model_name] = dict(t_temp)
        dest_dict[model_name]['t_Units'] = dict()

    else:
        # TODO: Handle if new_data is None, same as above
        f_data, _, _, _, _, _, c_Units = read_routine((model_name, var_name))

    dest_dict[model_name][var_name] = f_data
    dest_dict[model_name]['t_Units'][var_name] = c_Units
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号