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
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