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)
Example: blh_mirror_h500

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

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

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

point_models
------------
tke2ti: TKE2TI()
ustar2ti: Ustar2TI()

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

grid<n2>: GridRotor with
  reduce=True
  n2=(Number of points in square grid)
Example: grid9

grid<n2>_raw: GridRotor with
  reduce=False
  n2=(Number of points in square grid)
Example: grid9_raw

level<n>: LevelRotor with
  reduce=True
  n=(Number of vertical levels)
Example: level5

level<n>_raw: LevelRotor with
  reduce=False
  n=(Number of vertical levels)
Example: level5_raw

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. 04 for 0.4)
  kb=(Value, e.g. 004 for 0.04)
Example: kTI_0.2_0.001

kTI_<kTI>: kTI with
  kTI=(Value, e.g. 02 for 0.2)
Example: kTI_0.2

kTI_amb_<kTI>_<kb>: kTI with
  ti_var=AMB_TI
  kTI=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 004 for 0.04)
Example: kTI_amb_0.2_0.001

kTI_amb_<kTI>: kTI with
  ti_var=AMB_TI
  kTI=(Value, e.g. 04 for 0.4)
Example: kTI_amb_0.2

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
-----------
dyn_wakes: DynamicWakes(dt_min=None, max_length_km=20, max_age=None)
rotor_wd: RotorWD()
rotor_wd_farmo: FarmOrder()
seq_dyn_wakes: SeqDynamicWakes(dt_min=None)
timelines: Timelines(dt_min=None, max_length_km=20000.0)

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)
Example: yawed_ka0.2_kb0.001

yawed_ambka<ambka>_kb<kb>: YawedWakes with
  ti_var=AMB_TI
  ambka=(Value, e.g. 04 for 0.4)
  kb=(Value, e.g. 001 for 0.01)
Example: yawed_ambka0.4_kb0.001

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

yawed_ambka<ambka>: YawedWakes with
  ti_var=AMB_TI
  ambka=(Value, e.g. 04 for 0.4)
Example: yawed_ambka0.4

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

yawed: YawedWakes with
  ti_var=TI
Example: yawed

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

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

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

dyn_wakes_<length>: DynamicWakes with
  length=(Maximal wake length, e.g. '5km' or '5000m')

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

wake_models
-----------
RHB: RankineHalfBody(induction=Madsen)
Rathmann: Rathmann(ws_linear, induction=Madsen)
SelfSimilar: SelfSimilar(ws_linear, induction=Madsen, gamma=1.1)
SelfSimilar2020: SelfSimilar2020(ws_linear, induction=Madsen, gamma=1.1)
VortexSheet: VortexSheet(ws_linear, 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)
Example: Jensen_linear_ka0.2_kb0.001

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

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)
Example: Jensen_linear_ka0.2

Jensen_<superposition>_ambka<ambka>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ambka0.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)
Example: Jensen_linear_k0.04

Jensen_<superposition>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Jensen_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)
Example: Bastankhah2014_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah2014_linear_ka0.2

Bastankhah2014_<superposition>_ambka<ambka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014_linear_ambka0.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)
Example: Bastankhah2014_linear_k0.04

Bastankhah2014_<superposition>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2014_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)
Example: Bastankhah2014B_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah2014B_linear_ka0.2

Bastankhah2014B_<superposition>_ambka<ambka>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2014B_linear_ambka0.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)
Example: Bastankhah2014B_linear_k0.04

Bastankhah2014B_<superposition>: Bastankhah2014 with
  sbeta_factor=0.2
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2014B_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)
Example: Bastankhah025_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah025_linear_ka0.2

Bastankhah025_<superposition>_ambka<ambka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025_linear_ambka0.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)
Example: Bastankhah025_linear_k0.04

Bastankhah025_<superposition>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah025_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)
Example: Bastankhah025B_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah025B_linear_ka0.2

Bastankhah025B_<superposition>_ambka<ambka>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah025B_linear_ambka0.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)
Example: Bastankhah025B_linear_k0.04

Bastankhah025B_<superposition>: Bastankhah2014 with
  sbeta_factor=0.25
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah025B_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)
Example: Bastankhah2016_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah2016_linear_ka0.2

Bastankhah2016_<superposition>_ambka<ambka>: Bastankhah2016 with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016_linear_ambka0.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)
Example: Bastankhah2016_linear_k0.04

Bastankhah2016_<superposition>: Bastankhah2016 with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2016_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)
Example: Bastankhah2016B_linear_ka0.2_kb0.001

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

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)
Example: Bastankhah2016B_linear_ka0.2

Bastankhah2016B_<superposition>_ambka<ambka>: Bastankhah2016 with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Bastankhah2016B_linear_ambka0.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)
Example: Bastankhah2016B_linear_k0.04

Bastankhah2016B_<superposition>: Bastankhah2016 with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Bastankhah2016B_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)
Example: TurbOPark_linear_ka0.2_kb0.001

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

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)
Example: TurbOPark_linear_ka0.2

TurbOPark_<superposition>_ambka<ambka>: TurbOParkWake with
  induction=Madsen
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: TurbOPark_linear_ambka0.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)
Example: TurbOPark_linear_k0.04

TurbOPark_<superposition>: TurbOParkWake with
  induction=Madsen
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: TurbOPark_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)
Example: TurbOParkB_linear_ka0.2_kb0.001

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

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)
Example: TurbOParkB_linear_ka0.2

TurbOParkB_<superposition>_ambka<ambka>: TurbOParkWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: TurbOParkB_linear_ambka0.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)
Example: TurbOParkB_linear_k0.04

TurbOParkB_<superposition>: TurbOParkWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: TurbOParkB_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)
Example: TurbOParkIX_linear_ka0.2_kb0.001_dx100

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

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)
Example: TurbOParkIX_linear_ka0.2_dx100

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

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)
Example: TurbOParkIX_linear_k0.04_dx100

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

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)
Example: CrespoHernandez_linear_ka0.2_kb0.001

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

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)
Example: CrespoHernandez_linear_ka0.2

CrespoHernandez_<superposition>_ambka<ambka>: CrespoHernandezTIWake with
  use_ambti=False
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: CrespoHernandez_linear_ambka0.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)
Example: CrespoHernandez_linear_k0.04

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

IECTI2019_<superposition>: IECTIWake with
  iec_type=2019
  superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2019_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)
Example: IECTI2019k_linear_ka0.2_kb0.001

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

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)
Example: IECTI2019k_linear_ka0.2

IECTI2019k_<superposition>_ambka<ambka>: IECTIWake with
  iec_type=2019
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: IECTI2019k_linear_ambka0.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)
Example: IECTI2019k_linear_k0.04

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

IECTI2005_<superposition>: IECTIWake with
  iec_type=2005
  superposition=(Superposition, e.g. linear for ti_linear)
Example: IECTI2005_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)
Example: IECTI2005k_linear_ka0.2_kb0.001

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

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)
Example: IECTI2005k_linear_ka0.2

IECTI2005k_<superposition>_ambka<ambka>: IECTIWake with
  iec_type=2005
  opening_angle=None
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ti_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: IECTI2005k_linear_ambka0.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)
Example: IECTI2005k_linear_k0.04

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

VortexSheet_<superposition>: VortexSheet with
  superposition=(Superposition, e.g. linear for ws_linear)
Example: VortexSheet_linear

Rathmann_<superposition>: Rathmann with
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Rathmann_linear

SelfSimilar_<superposition>: SelfSimilar with
  superposition=(Superposition, e.g. linear for ws_linear)
Example: SelfSimilar_linear

SelfSimilar2020_<superposition>: SelfSimilar2020 with
  superposition=(Superposition, e.g. linear for ws_linear)
Example: SelfSimilar2020_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)
Example: Jensen_linear_ka0.2_kb0.001

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

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)
Example: Jensen_linear_ka0.2

Jensen_<superposition>_ambka<ambka>: JensenWake with
  induction=Betz
  ti_var=AMB_TI
  superposition=(Superposition, e.g. linear for ws_linear)
  ambka=(Value, e.g. 04 for 0.4)
Example: Jensen_linear_ambka0.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)
Example: Jensen_linear_k0.04

Jensen_<superposition>: JensenWake with
  induction=Betz
  ti_var=TI
  superposition=(Superposition, e.g. linear for ws_linear)
Example: Jensen_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.