Пример #1
0
def run_model(config, P, P_pert, labels, ZMT, GMT, targetmode, control,
              controlconfig, grid, elevation, monthly):

    P_config = reshape_parameters(P, P_pert)
    setup = {
        'number_of_parameters': len(P),
        'number_of_cycles': 1,
        'number_of_parallels': len(P) * 2 + 1
    }

    if targetmode == 'Coupled':
        control = True

    if control == True:
        variable_importer(controlconfig,
                          initialZMT=True,
                          parallel=True,
                          parallel_config=setup,
                          control=True)
        controlconfig = add_parameters(controlconfig, P_config, labels)
        data_CTRL = rk4alg(model_equation,
                           controlconfig['eqparam'],
                           controlconfig['rk4input'],
                           controlconfig['funccomp'],
                           progressbar=True,
                           monthly=monthly)
        ZMT, GMT = data_CTRL[1][-1], data_CTRL[2][-1]

    variable_importer(config,
                      initialZMT=False,
                      parallel=True,
                      parallel_config=setup)
    config = add_parameters(config, P_config, labels)
    Vars.T, Vars.T_global = ZMT, GMT
    data = rk4alg(model_equation,
                  config['eqparam'],
                  config['rk4input'],
                  config['funccomp'],
                  progressbar=True,
                  monthly=monthly)

    if targetmode == 'Single':
        data_out = data[2][-1]
    elif targetmode == 'ZMT':
        dataZMT = data[1][-1]
        for i in range(len(dataZMT)):
            dataZMT[i] = dataZMT[i] + elevation
        data_out = dataZMT
    elif targetmode == 'GMT':
        data_out = np.transpose(data[2][:-1] - data[2][0])
    elif targetmode == 'Coupled':
        dataZMT = data_CTRL[1][-1]
        for i in range(len(dataZMT)):
            dataZMT[i] = dataZMT[i] + elevation
        dataGMT = np.transpose(data[2][:-1] - data[2][0])
        data_out = [dataZMT, dataGMT]
    return data_out
def main():
    configdic=importer('EBM0D_volcanic_config.ini')
    eq=configdic['eqparam']
    rk=configdic['rk4input']
    fun=configdic['funccomp']
    variable_importer(configdic)
    outputdata=rk4alg(model_equation,eq,fun)
    return outputdata
Пример #3
0
def main():
    configdic = importer('EBM1D_Sellers_dynamic_config.ini')
    variable_importer(configdic)
    configdic1, paras = add_sellersparameters(configdic,
                                              parameterinterpolatorstepwise,
                                              'SellersParameterization.ini', 2,
                                              0, True, True)
    eq = configdic1['eqparam']
    rk = configdic1['rk4input']
    fun = configdic1['funccomp']
    outputdata = rk4alg(model_equation, eq, fun)
    return outputdata