MODULAR LIQUID DROPPING SYSTEM INFORMATION

This section controls everything related to the aircraft liquid dropping system, which allows aircraft to be able to transport and drop liquids. Depending on the settings used it may also allow the aircraft to scoop water from water surfaces, for example when modelling an aircraft like the CL-215 (Bombardier 415).

 

The liquid dropping system requires 3 separate files to be set up correctly:

  • systems.cfg - This is where the main system components are defined.
  • flight_model.cfg - This is where the contact points used for the scoops are defined (the contact point type should be 18). This is only required if the aircraft has a scoop system.
  • reference_points.cfg - This is where the reference points used for the drop doors are defined.

 

The different components available are as follows:

  • Tank: This defines the tank that will be holding the liquid to be dropped.
  • Door: This defines certain properties related to the door that will open/close to drop/store the liquid.
  • Scoop: This is used to define the properties of the scoop that is used to retrieve liquid for the tank.
  • Curve: This is used to define the different pickup and drop rates for the scoops and doors of the aircraft.

 

The following is a simple example for an aircraft where the liquid dropping system has been defined with two tanks, scoops and doors:

[Liquid Dropping System]
Curve.1 = 0:0,20:0,100:500
Tank.1 = Position:-0.5,-2,-0.65 #Capacity:1500 #Doors:1 #Scoops:1
Tank.2 = Position:-0.5,2,-0.65 #Capacity:1500 #Doors:2 #Scoops:2
Door.1 = FixedRate:5.0 #DropSpeed:10
Door.2 = FixedRate:5.0 #DropSpeed:10
Scoop.1 = CurveRate:1 #ContactPoint:8
Scoop.2 = CurveRate:1 #ContactPoint:9

 

This liquid dropping system would also need these contact points, since it also has scoops:

[CONTACT_POINTS]
point.0 = 18, -4.4, -5.6, -0.65, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1
point.1 = 18, -4.4, 5.6, -0.65, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1

 

And finally, it would have the following reference points for the doors, where the Name parameter must follow the format of pos_door_N, where N is the door number + 1 (doors are created with an initial index of 0, but for the reference point CFG the index starts at 1, so pos_door_1 references Door.0):

[ReferencePoint.0]
Name=pos_door_1
AttachTo=
IsExterior=1
RelativePos=-0.5,-2,-1.25
RelativeRot=0,0,180
[ReferencePoint.1]
Name=pos_door_2
AttachTo=
IsExterior=1
RelativePos=-0.5,2,-1.25
RelativeRot=0,0,180

 

Many of these components can be checked using SimVars, and you can find information about those here:

 

It should be noted that there are some parameters that can be set in the FLT file to initialise the liquid dropping system to specific values for a flight or a mission. You can find more information here:

 

 

Tank.N

The main component of a liquid dropping system is the tank, and each tank is created as a hash map comprised of the following multiple key:value pairs, separated by the # symbol:

Tank.N = Name:<tank_name> #Position:<pos_ZXY> #Capacity:<capacity_litres> #Doors:<door_index_1>,<door_index_2>,... #Scoops:<scoop_1>,<scoop_2>,...

Note that you may have more than one tank, so in these cases you would add further Tank components and increment the N index, starting from 1. A full example of a single tank definition would be like this:

Tank.1 = Name:Main_Tank #Position:-0.5,-2,-0.65 #Capacity:1500 #Doors:1 #Scoops:1
Key Value Description Required
Name String This is a unique name which can be used instead of an index value when querying tank-related SimVars like LIQUID DROPPING TANK CAPACITY. Yes
Position

Array

(Floats)

The position of the tank expressed as longitude, latitude, and altitude (Z,X,Y) relative to the Datum Reference Point, in ft. Yes
Capacity Float The maximum capacity of the tank, in Gallons. Yes
Doors

Array

(Integers)

A comma separated array of the doors that are attached to this tank, where each door is identified by its index number. Note that multiple doors can be attached to the same tank, and multiple tanks can be attached to the same door. In the latter case, this will mean that the maximum flow rate of the door will be divided equally between the tanks. Yes
Scoops

Array

(Integers)

A comma separated array of scoops that are attached to this tank, where each scoop is identified by its index number. Multiple scoops can be attached to the same tank, and multiple tanks can be attached to the same scoop. No

 

The following SimVars are available for this component:

  1. LIQUID DROPPING TANK CAPACITY
  2. LIQUID DROPPING TANK CAPACITY VOLUME
  3. LIQUID DROPPING TANK TOTAL CAPACITY
  4. LIQUID DROPPING TANK TOTAL CAPACITY VOLUME
  5. LIQUID DROPPING TANK TOTAL WEIGHT
  6. LIQUID DROPPING TANK TOTAL CURRENT VOLUME
  7. LIQUID DROPPING TANK WEIGHT
  8. LIQUID DROPPING TANK CURRENT VOLUME

 

 

Door.N

For an aircraft to dump the liquid it stores in its tanks, it needs to have one or more doors. Each door is created as a hash map comprised of the following multiple key:value pairs, separated by the # symbol:

Door.N = Name:<door_name> #FixedRate:<rate> #CurveRate:<curve_index> #DropSpeed:<speed> #Circuit:<circuit_index> #CircuitName:<circuit_name> #Actuator:<actuator_name> #OpenTime:<seconds> #CommandGroup:<group_index>

Note that you may have more than one pump, so for each one you should increment the N index, starting from 1. A full example of a single pump definition would be like this:

Door.1 = Name:Main_Door #FixedRate:5.0 #DropSpeed:10
Key Value Description Required
Name String This is a unique name which can be used instead of an index value when querying door-related SimVars like LIQUID DROPPING DOOR FLOW. Yes
FixedRate Float The constant rate at which liquid will be dropped from the aircraft, in Gallons per second. If this parameter is defined, then you cannot define the CurveRate. No
CurveRate Curve A Curve which defines the ratio of liquid dropped to ground speed. If this parameter is defined, then you cannot define the FixedRate. No
DropSpeed Float The speed, in ft per second, at which the liquid will drop after being released. Yes
Circuit Integer

If the door is electrically driven, this parameter specifies the index of the circuit that has been defined in the electrical system as the CIRCUIT_LIQUID_DROPPING_DOOR which controls it.

Note that this key is not required for manual doors. Also note that this method for identifying a circuit is only supposed to be used for backwards compatibility with legacy aircraft, and you should be supplying a CircuitName instead.

Default value is 0.

No
CircuitName String

If the door is electrically driven, this parameter specifies the name of the circuit that has been defined in the electrical system as the CIRCUIT_LIQUID_DROPPING_DOOR which controls it.

Note that this key is not required for manual doors. Also note that this is the preferred method for identifying a circuit, but if you have supplied a Circuit index, then you should not be supplying a circuit name.

Default value is "".

No
Actuator String

The name of the Hydraulic Actuator (see: Actuator.N) that will be used to open/close the door. This is only required for doors that are electrically powered.

Default value is "".

No
OpenTime Float

This sets the time that the door takes to go from fully closed to fully open. If set to 0, then the transition is instantaneous.

Default value is 0.

No
CommandGroup Integer This assigns a "command group" value to the door. This value is used to "link" multiple doors together so that they can then be activated all at once using a single key event like . Value must be an integer starting at 1. No

 

The following SimVars are available for this component:

  1. LIQUID DROPPING DOOR FLOW
  2. LIQUID DROPPING DOOR FLOW VOLUME
  3. LIQUID DROPPING DOOR OPEN TARGET
  4. LIQUID DROPPING DOOR OPEN VALUE

 

 

Scoop.N

If you are creating an aircraft that can scoop liquids into it's tank then these scoops need to be defined. Each scoop is created as a hash map comprised of the following multiple key:value pairs, separated by the # symbol:

Scoop.N = Name:<scoop_name> #FixedRate:<rate> #CurveRate:<curve_index> #ContactPoint:<point_index>

Note that you may have more than one scoop, so for each one you should increment the N index, starting from 1. A full example of a single scoop definition would be like this:

Scoop.1 = Name:Main_Scoop #CurveRate:1 #ContactPoint:8
Key Value Description Required
Name String This is a unique name which can be used instead of an index value when querying scoop-related SimVars like LIQUID DROPPING SCOOP FLOW. Yes
FixedRate Float The constant rate at which liquid will be scooped into the aircraft, in Gallons per second. If this parameter is defined, then you cannot define the CurveRate. No
CurveRate Curve A Curve which defines the ratio of liquid scooped to ground speed. If this parameter is defined, then you cannot define the FixedRate. No
ContactPoint Integer The [CONTACT_POINTS] index where the scoop should be positioned. The defined contact point should be of the type "liquid dropping system scoop". Yes

 

The following SimVars are available for this component:

  1. LIQUID DROPPING SCOOP FLOW
  2. LIQUID DROPPING SCOOP FLOW VOLUME
  3. LIQUID DROPPING SCOOP OPEN TARGET
  4. LIQUID DROPPING SCOOP OPEN VALUE

 

 

Curve.N

The curve data component is simply a way of defining a Door (or Scoop) drop rate for the liquids in the tank(s) connected. Using a curve means you can create the curve once, and then use it in multiple places (thus removing the need to duplicate data in multiple places). It also means you can create a more realistic drop rate for the aircraft. Each curve is created as a list of two values separated by a comma, where the values depend on what use the curve will be getting put to:

 

For doors:

Curve.N = <drop_rate>:<ground_speed>, <drop_rate>:<ground_speed>, ...
Key Value Description Required
drop_rate Float The drop rate, in Gallon per second, for the corresponding ground speed. Yes
ground_speed Float The ground speed of the aircraft, in ft per second. Yes

 

For scoops:

Curve.N = <scoop_rate>:<ground_speed>, <scoop_rate>:<ground_speed>, ...
Key Value Description Required
scoop_rate Float The scoop rate, in Gallon per second, for the corresponding ground speed. Yes
ground_speed Float The ground speed of the aircraft, in ft per second. Yes

 

Note that you may have more than one curve, so for each one you should increment the N index, starting from 1. A full example of a single curve definition would be like this:

Curve.1 = 0:200, 100:220