The model bookΒΆ

This example only requires the foxes package:

In [1]:
import foxes

The model book contains all models that are selectable during a foxes run. They are organized according to their model type and stored under a str type key, i.e., the model name. The default constructor of the ModelBook class provides a number of default models, and the complete list can be printed using the print_toc function:

In [2]:
mbook = foxes.models.ModelBook()
mbook.print_toc()
axial_induction
---------------
Betz: BetzAxialInduction()
Madsen: MadsenAxialInduction()

farm_controllers
----------------
basic_ctrl: BasicFarmController()

farm_models
-----------
farm_PMask: Turbine2FarmModel(PowerMask(var_ws_P=REWS3, P_lim=100, induction=Betz))
farm_hubh_data: Turbine2FarmModel(RotorCentreCalc())
farm_kTI: Turbine2FarmModel(kTI(kTI=None, kb=0, ti_var=TI, k_var=k))
farm_kTI_amb: Turbine2FarmModel(kTI(kTI=None, kb=0, ti_var=AMB_TI, k_var=k))
farm_thrust2ct: Turbine2FarmModel(Thrust2Ct(thrust_var=T, var_ws_ct=REWS2))
farm_yaw2yawm: Turbine2FarmModel(YAW2YAWM())
farm_yawm2yaw: Turbine2FarmModel(YAWM2YAW())

ground_models
-------------
ground_mirror: GroundMirror()
no_ground: NoGround()

blh_mirror_h<height>: WakeMirror with
  height=(Boundary layer wake reflection height)

partial_wakes
-------------
centre: PartialCentre()
rotor_points: RotorPoints()
top_hat: PartialTopHat()

axiwake<n>: PartialAxiwake with
  n=(Number of evaluation points)

grid<n2>: PartialGrid with
  n2=(Number of points in square grid)

point_models
------------
tke2ti: TKE2TI()

rotor_models
------------
centre: CentreRotor()

grid<n2>: GridRotor with
  calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
  reduce=True
  n2=(Number of points in square grid)

grid<n2>_raw: GridRotor with
  calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
  reduce=False
  n2=(Number of points in square grid)

level<n>: LevelRotor with
  calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
  reduce=True
  n=(Number of vertical levels)

level<n>_raw: LevelRotor with
  calc_vars=['REWS', 'REWS2', 'REWS3', 'TI', 'RHO']
  reduce=False
  n=(Number of vertical levels)

turbine_models
--------------
PMask: PowerMask(var_ws_P=REWS3, P_lim=100, induction=Betz)
hubh_data: RotorCentreCalc()
kTI: kTI(kTI=None, kb=0, ti_var=TI, k_var=k)
kTI_amb: kTI(kTI=None, kb=0, ti_var=AMB_TI, k_var=k)
thrust2ct: Thrust2Ct(thrust_var=T, var_ws_ct=REWS2)
yaw2yawm: YAW2YAWM()
yawm2yaw: YAWM2YAW()

kTI_<kTI>_<kb>: kTI with
  kTI=(Value, e.g. 004 for 0.04)
  kb=(Value, e.g. 004 for 0.04)

kTI_<kTI>: kTI with
  kTI=(Value, e.g. 004 for 0.04)

kTI_amb_<kTI>_<kb>: kTI with
  ti_var=AMB_TI
  kTI=(Value, e.g. 004 for 0.04)
  kb=(Value, e.g. 004 for 0.04)

kTI_amb_<kTI>: kTI with
  ti_var=AMB_TI
  kTI=(Value, e.g. 004 for 0.04)

turbine_types
-------------
DTU10MW: PCtFile(D=178.3, H=119.0, P_nominal=10000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
IEA15MW: PCtFile(D=240.0, H=150.0, P_nominal=15000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
IWT7.5MW: PCtFile(D=164.0, H=100.0, P_nominal=7500.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
NREL5MW: PCtFile(D=126.0, H=90.0, P_nominal=5000.0, P_unit=kW, rho=1.225, var_ws_ct=REWS2, var_ws_P=REWS3)
null_type: NullType(D=None, H=None, P_nominal=None, P_unit=kW)

wake_frames
-----------
rotor_wd: RotorWD()
rotor_wd_farmo: FarmOrder()
timelines: Timelines(dt_min=None)

yawed_ka<ka>_kb<kb>: YawedWakes with
  ti_var=TI
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

yawed_ambka<ka>_kb<kb>: YawedWakes with
  ti_var=AMB_TI
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

yawed_ka<ka>: YawedWakes with
  ti_var=TI
  ka=(Value, e.g. 04 for 0.4)

yawed_ambka<ka>: YawedWakes with
  ti_var=AMB_TI
  ka=(Value, e.g. 04 for 0.4)

yawed_k<k>: YawedWakes with
  ti_var=TI
  k=(Value, e.g. 004 for 0.04)

yawed: YawedWakes with
  ti_var=TI

streamlines_<step>: Streamlines2D with
  step=(Step size in m)

streamlines_<step>: Streamlines2D with
  step=(Step size in m)

timelines_<dt>: Timelines with
  dt=(Time step, e.g '10s', '1min' etc.)

seq_dyn_wakes_<dt>: SeqDynamicWakes with
  dt=(Time step, e.g '10s', '1min' etc.)

wake_models
-----------
RHB: RankineHalfBody(induction=Madsen)
Rathmann: Rathmann(induction=Madsen)
SelfSimilar: SelfSimilar(gamma=1.1, induction=Madsen)
SelfSimilar2020: SelfSimilar2020(gamma=1.1, induction=Madsen)
VortexSheet: VortexSheet, induction=Madsen)

Jensen_<superposition>_ka<ka>_kb<kb>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Jensen_<superposition>_ambka<ka>_kb<kb>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Jensen_<superposition>_ka<ka>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Jensen_<superposition>_ambka<ka>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Jensen_<superposition>_k<k>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Jensen_<superposition>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah2014_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2014_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2014_<superposition>_ka<ka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2014_<superposition>_ambka<ka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2014_<superposition>_k<k>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah2014_<superposition>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah2014B_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2014B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2014B_<superposition>_ka<ka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2014B_<superposition>_ambka<ka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2014B_<superposition>_k<k>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah2014B_<superposition>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah025_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah025_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah025_<superposition>_ka<ka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah025_<superposition>_ambka<ka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah025_<superposition>_k<k>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah025_<superposition>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah025B_<superposition>_ka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah025B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah025B_<superposition>_ka<ka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah025B_<superposition>_ambka<ka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah025B_<superposition>_k<k>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah025B_<superposition>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah2016_<superposition>_ka<ka>_kb<kb>: Bastankhah2016 with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2016_<superposition>_ambka<ka>_kb<kb>: Bastankhah2016 with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2016_<superposition>_ka<ka>: Bastankhah2016 with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2016_<superposition>_ambka<ka>: Bastankhah2016 with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2016_<superposition>_k<k>: Bastankhah2016 with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah2016_<superposition>: Bastankhah2016 with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Bastankhah2016B_<superposition>_ka<ka>_kb<kb>: Bastankhah2016 with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2016B_<superposition>_ambka<ka>_kb<kb>: Bastankhah2016 with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Bastankhah2016B_<superposition>_ka<ka>: Bastankhah2016 with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2016B_<superposition>_ambka<ka>: Bastankhah2016 with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Bastankhah2016B_<superposition>_k<k>: Bastankhah2016 with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Bastankhah2016B_<superposition>: Bastankhah2016 with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

TurbOPark_<superposition>_ka<ka>_kb<kb>: TurbOParkWake with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

TurbOPark_<superposition>_ambka<ka>_kb<kb>: TurbOParkWake with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

TurbOPark_<superposition>_ka<ka>: TurbOParkWake with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

TurbOPark_<superposition>_ambka<ka>: TurbOParkWake with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

TurbOPark_<superposition>_k<k>: TurbOParkWake with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

TurbOPark_<superposition>: TurbOParkWake with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

TurbOParkB_<superposition>_ka<ka>_kb<kb>: TurbOParkWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

TurbOParkB_<superposition>_ambka<ka>_kb<kb>: TurbOParkWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

TurbOParkB_<superposition>_ka<ka>: TurbOParkWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

TurbOParkB_<superposition>_ambka<ka>: TurbOParkWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

TurbOParkB_<superposition>_k<k>: TurbOParkWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

TurbOParkB_<superposition>: TurbOParkWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

TurbOParkIX_<superposition>_ka<ka>_kb<kb>_dx<dx>: TurbOParkWakeIX with
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)
  dx=(Integration step in m)

TurbOParkIX_<superposition>_ambka<ka>_kb<kb>_dx<dx>: TurbOParkWakeIX with
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)
  dx=(Integration step in m)

TurbOParkIX_<superposition>_ka<ka>_dx<dx>: TurbOParkWakeIX with
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  dx=(Integration step in m)

TurbOParkIX_<superposition>_ambka<ka>_dx<dx>: TurbOParkWakeIX with
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  dx=(Integration step in m)

TurbOParkIX_<superposition>_k<k>_dx<dx>: TurbOParkWakeIX with
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)
  dx=(Integration step in m)

TurbOParkIX_<superposition>_dx<dx>: TurbOParkWakeIX with
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  dx=(Integration step in m)

CrespoHernandez_<superposition>_ka<ka>_kb<kb>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

CrespoHernandez_<superposition>_ambka<ka>_kb<kb>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

CrespoHernandez_<superposition>_ka<ka>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

CrespoHernandez_<superposition>_ambka<ka>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

CrespoHernandez_<superposition>_k<k>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  k=(Value, e.g. 004 for 0.04)

CrespoHernandez_<superposition>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)

IECTI2005_<superposition>: IECTIWake with
  iec_type=2005
  superposition=(Superposition, e.g. linear for ti_linear)

IECTI2019_<superposition>: IECTIWake with
  iec_type=2019
  superposition=(Superposition, e.g. linear for ti_linear)

IECTI2019k_<superposition>_ka<ka>_kb<kb>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

IECTI2019k_<superposition>_ambka<ka>_kb<kb>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

IECTI2019k_<superposition>_ka<ka>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

IECTI2019k_<superposition>_ambka<ka>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

IECTI2019k_<superposition>_k<k>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  k=(Value, e.g. 004 for 0.04)

IECTI2019k_<superposition>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)

IECTI2005_<superposition>: IECTIWake with
  iec_type=2005
  superposition=(Superposition, e.g. linear for ti_linear)

IECTI2005k_<superposition>_ka<ka>_kb<kb>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

IECTI2005k_<superposition>_ambka<ka>_kb<kb>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

IECTI2005k_<superposition>_ka<ka>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

IECTI2005k_<superposition>_ambka<ka>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ka=(Value, e.g. 04 for 0.4)

IECTI2005k_<superposition>_k<k>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)
  k=(Value, e.g. 004 for 0.04)

IECTI2005k_<superposition>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=TI
  superposition=(Superposition, e.g. linear for ti_linear)

wake_superpositions
-------------------
ti_cubic: TIPow(pow=3, superp_to_amb=quadratic)
ti_linear: TILinear(superp_to_amb=quadratic)
ti_max: TIMax(superp_to_amb=quadratic)
ti_quadratic: TIQuadratic(superp_to_amb=quadratic)
ti_quartic: TIPow(pow=4, superp_to_amb=quadratic)
ws_cubic: WSPow(pow=3, scale_amb=False, lim_low=None, lim_high=None)
ws_cubic_amb: WSPow(pow=3, scale_amb=True, lim_low=None, lim_high=None)
ws_cubic_loc: WSPowLocal(pow=3, lim_low=None, lim_high=None)
ws_cubic_loc_lim: WSPowLocal(pow=3, lim_low=0.0001, lim_high=None)
ws_linear: WSLinear(scale_amb=False, lim_low=None, lim_high=None)
ws_linear_amb: WSLinear(scale_amb=True, lim_low=None, lim_high=None)
ws_linear_amb_lim: WSLinear(scale_amb=True, lim_low=0.0001, lim_high=None)
ws_linear_lim: WSLinear(scale_amb=False, lim_low=0.0001, lim_high=None)
ws_linear_loc: WSLinearLocal(lim_low=None, lim_high=None)
ws_linear_loc_lim: WSLinearLocal(lim_low=0.0001, lim_high=None)
ws_max: WSMax(scale_amb=False, lim_low=None, lim_high=None)
ws_max_amb: WSMax(scale_amb=True, lim_low=None, lim_high=None)
ws_max_loc: WSMaxLocal(lim_low=None, lim_high=None)
ws_max_loc_lim: WSMaxLocal(lim_low=0.0001, lim_high=None)
ws_product: WSProduct(lim_low=None, lim_high=None)
ws_product_lim: WSProduct(lim_low=0.0001, lim_high=None)
ws_quadratic: WSQuadratic(scale_amb=False, lim_low=None, lim_high=None)
ws_quadratic_amb: WSQuadratic(scale_amb=True, lim_low=None, lim_high=None)
ws_quadratic_amb_lim: WSQuadratic(scale_amb=True, lim_low=0.0001, lim_high=None)
ws_quadratic_lim: WSQuadratic(scale_amb=False, lim_low=0.0001, lim_high=None)
ws_quadratic_loc: WSQuadraticLocal(lim_low=None, lim_high=None)
ws_quadratic_loc_lim: WSQuadraticLocal(lim_low=0.0001, lim_high=None)
ws_quartic: WSPow(pow=4, scale_amb=False, lim_low=None, lim_high=None)
ws_quartic_amb: WSPow(pow=4, scale_amb=True, lim_low=None, lim_high=None)
ws_quartic_loc: WSPowLocal(pow=4, lim_low=None, lim_high=None)
ws_quartic_loc_lim: WSPowLocal(pow=4, lim_low=0.0001, lim_high=None)

Notice the model factories, creating models based on parameter values that are being parsed from the name string, e.g.:

Jensen_<superposition>_k<k>: JensenWake with
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

For any existing superpositon model name string and any value for the wake growth parameter k, the model can be created according to the stated model name template Jensen_<superposition>_k<k>. For example, selecting quadratic superposition and k = 0.075:

In [3]:
mbook.wake_models["Jensen_quadratic_k0075"]
Out[3]:
JensenWake(ws_quadratic, induction=Betz, k=0.075)

You can simply add a model by storing the model object under the new model name, for example:

In [4]:
mbook.wake_models["my_Jensen"] = foxes.models.wake_models.wind.JensenWake(
    k=0.042, superposition="ws_linear_lim"
)
In [5]:
mbook.print_toc(subset="wake_models", search="Jensen")
wake_models
-----------
Jensen_quadratic_k0075: JensenWake(ws_quadratic, induction=Betz, k=0.075)
my_Jensen: JensenWake(ws_linear_lim, induction=Betz, k=0.042)

Jensen_<superposition>_ka<ka>_kb<kb>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Jensen_<superposition>_ambka<ka>_kb<kb>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)

Jensen_<superposition>_ka<ka>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Jensen_<superposition>_ambka<ka>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ka=(Value, e.g. 04 for 0.4)

Jensen_<superposition>_k<k>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
  k=(Value, e.g. 004 for 0.04)

Jensen_<superposition>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)

Our freshly created model can now be found in the model book and is ready to use for calculations. Similarly, all other types of models can be added to the corresponding sections of the model book.