Skip to content

Commit

Permalink
Merge pull request #215 from lkluft/revise-get-moistadiabat
Browse files Browse the repository at this point in the history
Revise interface to `get_moist_adiabat`
  • Loading branch information
lkluft committed Jun 14, 2023
2 parents d6ff51f + 686da2c commit 2d9b5a7
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions konrad/lapserate.py
Expand Up @@ -152,7 +152,7 @@ def __call__(self, p, T):
return self._moist_lr(p, T)


def get_moist_adiabat(p, p_s=None, T_s=300.0, T_min=155.0):
def get_moist_adiabat(p, p_s=None, T_s=300.0, T_min=155.0, lapserate=None):
"""Create a moist-adiabat from a given surface T up to the cold point.
Warning:
Expand All @@ -165,17 +165,19 @@ def get_moist_adiabat(p, p_s=None, T_s=300.0, T_min=155.0):
p_s (float): Surface pressure [Pa].
T_s (float): Surface temperautre [K].
T_min (float): Cold-point temperature (constant temperature above).
lapserate (konrad.lapserate.LapseRate): Lapse-rate component.
Returns:
ndarray: Moist-adiabativ temperature profile.
"""
dTdp = MoistLapseRate().calc_lapse_rate
if lapserate is None:
lapserate = MoistLapseRate()

T = np.zeros_like(p)
dp = np.gradient(p)

r = ode(dTdp).set_integrator("lsoda", atol=1e-4)
r = ode(lapserate).set_integrator("lsoda", atol=1e-4)
r.set_initial_value(T_s, p[0] - 0.5 * dp[0] if p_s is None else p_s)

i = 0
Expand Down

0 comments on commit 2d9b5a7

Please sign in to comment.