Построение кривой Будыко (1974) - PullRequest
1 голос
/ 06 октября 2019

Я не смог найти готовый сценарий для кривой Будыко, так как я могу построить его на питоне?

Уравнение для кривой Будыко:

Budyko_Curve_Equation

И кривая Будыко, которую я хочу построить:

Budyko_Curve

1 Ответ

2 голосов
/ 06 октября 2019

Вот скрипт, который я использовал:

import numpy as np
import matplotlib.pyplot as plt

budyko_curve_x = np.arange(0, 3, 0.05)
energy_limit_x = np.arange(0, 1.0001, 0.05)
x = np.arange(0, 1.0001, 0.05)

budyko_curve_y = np.power((budyko_curve_x*np.tanh(1/budyko_curve_x)*(1-np.exp(-budyko_curve_x))),0.5)

water_limit_y = 1+budyko_curve_x*0
energy_limit_y = energy_limit_x
y = 1 + x*0

plt.plot(budyko_curve_x,budyko_curve_y,  linestyle='--')
plt.plot(energy_limit_y,energy_limit_x, c='r')
plt.plot(budyko_curve_x,water_limit_y,c='b')
plt.plot(y,x,linestyle='-.', c='k',label='_nolegend_')

plt.ylabel("Actual ET/P")
plt.xlabel("Potential ET/P")
plt.title('Budyko Curve')
plt.grid(b=True, which='major', color='#666666', linestyle='-',alpha=0.2)
# Show the minor grid lines with very faint and almost transparent grey lines
plt.minorticks_on()
plt.legend(["Budyko Curve","Energy Limit", "Water Limit"])
plt.grid(b=True, which='minor', color='#999999', linestyle='-', alpha=0.2)

И вывод:

Budyko_Curve_Output

Итак, скопируйте и вставьтеи использовать ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...