NEDAS.models.lorenz96.tracer_advection.core module

NEDAS.models.lorenz96.tracer_advection.core.comp_dt(x, F)[source]

Compute Lorenz-96 model tendency dx/dt.

NEDAS.models.lorenz96.tracer_advection.core.adv_1step(x, F, delta_t, mean_velocity, pert_velocity_multiplier, diffusion_coef, e_folding, sink_rate, bound_above_is_one=True, positive_tracer=True)[source]

Perform one advection step + RK4 for Lorenz-96 + diffusion + sources/sinks. (adapted from DART/models/lorenz_96_tracer_advection)

Parameters:
  • x – numpy array, shape (model_size,) Current state: positions, tracer, and sources.

  • delta_t – float Time step

  • mean_velocity – float Base velocity for tracer advection

  • pert_velocity_multiplier – float Multiplier for perturbing velocity

  • diffusion_coef – float Diffusion coefficient

  • e_folding – float Exponential sink rate

  • sink_rate – float Additional uniform sink rate

  • bound_above_is_one – bool If True, adjust tracer values for upper bound

  • positive_tracer – bool If True, tracer cannot go below zero

NEDAS.models.lorenz96.tracer_advection.core.M_nl(x, T, F, dt, mean_velocity, pert_velocity_multiplier, diffusion_coef, e_folding, sink_rate, bound_above_is_one=True, positive_tracer=True)[source]

Nonlinear model propagator for time duration T.