<?xml version="1.0" encoding="UTF-8"?>

<PropertyList>

	<filter>
		<name>Flex Derate</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<expression>
				<table>
					<property>/FMGC/internal/flex-cmd</property>
					<entry><ind> 0</ind><dep>0.00</dep></entry>
					<entry><ind>70</ind><dep>0.12</dep></entry>
				</table>
			</expression>
		</input>
		<output>/engines/flex-derate</output>
	</filter>

	<filter>
		<name>FF 1</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<expression>
				<table>
					<property>/engines/engine[0]/fuel-flow_pph</property> 
					<entry><ind>   0</ind><dep>   0</dep></entry>
					<entry><ind>2000</ind><dep>2387</dep></entry>
					<entry><ind>9000</ind><dep>9847</dep></entry>
				</table>
			</expression>
		</input>
		<output>/engines/engine[0]/fuel-flow_actual</output>
	</filter>

	<filter>
		<name>FF 2</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<expression>
				<table>
					<property>/engines/engine[1]/fuel-flow_pph</property> 
					<entry><ind>   0</ind><dep>   0</dep></entry>
					<entry><ind>2000</ind><dep>2387</dep></entry>
					<entry><ind>9000</ind><dep>9847</dep></entry>
				</table>
			</expression>
		</input>
		<output>/engines/engine[1]/fuel-flow_actual</output>
	</filter>

	<filter>
		<name>Altitude PFD</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<expression>
				<floor>
					<div>
						<property>/instrumentation/altimeter/indicated-altitude-ft</property> 
						<value>100</value>
					</div>
				</floor>
			</expression>
		</input>
		<output>/instrumentation/altimeter/indicated-altitude-ft-pfd</output>
	</filter>

	<filter>
		<name>V/S PFD</name>
		<type>noise-spike</type>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<expression>
				<floor>
					<div>
						<property>/it-autoflight/internal/vert-speed-fpm</property> 
						<value>100</value>
					</div>
				</floor>
			</expression>
		</input>
		<output>/it-autoflight/internal/vert-speed-fpm-pfd</output>
		<max-rate-of-change>50</max-rate-of-change>
	</filter>

	<filter>
		<name>V/S 2 PFD</name>
		<type>noise-spike</type>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input> 
			<property>/it-autoflight/internal/vert-speed-fpm</property> 
		</input>
		<output>/it-autoflight/internal/vert-speed-fpm-filtered</output>
		<max-rate-of-change>5000</max-rate-of-change>
	</filter>

	<filter>
		<name>Throttle L</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[0]/reverser</property>
					<value>0</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[0]/throttle</property>
		</input>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[0]/reverser</property>
					<value>1</value>
				</equals>
			</condition>
			<value>0</value>
		</input>
		<output>/controls/engines/engine[0]/throttle-lever</output>
	</filter>

	<filter>
		<name>Throttle R</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[1]/reverser</property>
					<value>0</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[1]/throttle</property>
		</input>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[1]/reverser</property>
					<value>1</value>
				</equals>
			</condition>
			<value>0</value>
		</input>
		<output>/controls/engines/engine[1]/throttle-lever</output>
	</filter>

	<filter>
		<name>Throttle L</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[0]/reverser</property>
					<value>0</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[0]/throttle</property>
		</input>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[0]/reverser</property>
					<value>1</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[0]/throttle-rev</property>
		</input>
		<output>/controls/engines/engine[0]/throttle-pos</output>
	</filter>

	<filter>
		<name>Throttle R</name>
		<type>gain</type>
		<gain>1</gain>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[1]/reverser</property>
					<value>0</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[1]/throttle</property>
		</input>
		<input>
			<condition>
				<equals>
					<property>/controls/engines/engine[1]/reverser</property>
					<value>1</value>
				</equals>
			</condition>
			<property>/controls/engines/engine[1]/throttle-rev</property>
		</input>
		<output>/controls/engines/engine[1]/throttle-pos</output>
	</filter>

	<filter>
        <name>Target Pressurize Altitude CMD</name>
        <type>gain</type>
        <gain>1</gain>
        <update-interval-secs type="double">0.1</update-interval-secs>
        <input> 
            <expression>
                <table>
                    <property>/instrumentation/altimeter/indicated-altitude-ft</property>
                    <entry><ind>    0</ind><dep>   0</dep></entry>
                    <entry><ind> 1000</ind><dep> 500</dep></entry>
                    <entry><ind> 5000</ind><dep>1100</dep></entry>
                    <entry><ind>20000</ind><dep>5200</dep></entry>
                    <entry><ind>30000</ind><dep>6700</dep></entry>
                    <entry><ind>30000</ind><dep>7900</dep></entry>
                    <entry><ind>40500</ind><dep>8000</dep></entry>
                </table>
            </expression>
        </input>
        <output>/systems/pressurization/targetalt-cmd</output>      
    </filter>
	
	<filter>
        <name>Target Pressurize Altitude</name>
        <type>gain</type>
        <gain>1</gain>
        <update-interval-secs type="double">0.1</update-interval-secs>
        <input> 
			<condition>
				<or>
				<equals>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</equals>
				<less-than>
					<property>/systems/pressurization/targetalt-cmd</property>
					<property>/systems/pressurization/cabinalt-norm</property>
				</less-than>
				</or>
			</condition>
			<property>/systems/pressurization/cabinalt-norm</property>
        </input>
        <input> 
			<condition>
				<not>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</not>
			</condition>
			<property>/systems/pressurization/targetalt-cmd</property>
        </input>
        <output>/systems/pressurization/targetalt</output>      
    </filter>
	
	<filter>
		<name>Cabin PSI target</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.1</update-interval-secs>
		<input> 
			<expression>
				<table>
					<property>/systems/pressurization/cabinalt-norm</property>
					<entry><ind>-1000</ind><dep> 16.50000</dep></entry>
					<entry><ind>    0</ind><dep> 14.70000</dep></entry>
					<entry><ind>    0</ind><dep> 14.70000</dep></entry>
					<entry><ind> 1000</ind><dep> 14.20000</dep></entry>
					<entry><ind> 2000</ind><dep> 13.60000</dep></entry>
					<entry><ind> 3000</ind><dep> 13.20000</dep></entry>
					<entry><ind> 4000</ind><dep> 12.70000</dep></entry>
					<entry><ind> 5000</ind><dep> 12.20000</dep></entry>
					<entry><ind> 6000</ind><dep> 11.70000</dep></entry>
					<entry><ind> 7000</ind><dep> 11.30000</dep></entry>
					<entry><ind> 8000</ind><dep> 10.90000</dep></entry>
				</table>
			</expression>
		</input>
		<output>/systems/pressurization/cabinpsi-target</output>
	</filter>
	
	<filter>
        <name>VS-target</name>
        <type>gain</type>
        <gain>1</gain>
        <update-interval-secs type="double">0.1</update-interval-secs>
        <input> 
			<condition>
				<equals>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</equals>
			</condition>
			<property>/systems/pressurization/ambientpsi</property>
        </input>
        <input> 
			<condition>
				<not>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</not>
			</condition>
			<property>/systems/pressurization/cabinpsi-target</property>
        </input>
        <output>/systems/pressurization/cabinpsi</output>   
    </filter>

	<filter>
		<name>Ambient PSI (ICAO std)</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.1</update-interval-secs>
		<input> 
			<expression>
				<table>
					<property>/instrumentation/altimeter/indicated-altitude-ft</property>
					<entry><ind>-1000</ind><dep>16.50000</dep></entry>
					<entry><ind>    0</ind><dep>14.70000</dep></entry>
					<entry><ind> 1000</ind><dep>14.20000</dep></entry>
					<entry><ind> 2000</ind><dep>13.60000</dep></entry>
					<entry><ind> 3000</ind><dep>13.20000</dep></entry>
					<entry><ind> 4000</ind><dep>12.70000</dep></entry>
					<entry><ind> 5000</ind><dep>12.20000</dep></entry>
					<entry><ind> 6000</ind><dep>11.70000</dep></entry>
					<entry><ind> 7000</ind><dep>11.30000</dep></entry>
					<entry><ind> 8000</ind><dep>10.90000</dep></entry>
					<entry><ind> 9000</ind><dep>10.50000</dep></entry>
					<entry><ind>10000</ind><dep>10.10000</dep></entry>
					<entry><ind>11000</ind><dep> 9.70000</dep></entry>
					<entry><ind>12000</ind><dep> 9.30000</dep></entry>
					<entry><ind>13000</ind><dep> 9.00000</dep></entry>
					<entry><ind>14000</ind><dep> 8.60000</dep></entry>
					<entry><ind>15000</ind><dep> 8.30000</dep></entry>
					<entry><ind>16000</ind><dep> 8.00000</dep></entry>
					<entry><ind>17000</ind><dep> 7.60000</dep></entry>
					<entry><ind>18000</ind><dep> 7.30000</dep></entry>
					<entry><ind>19000</ind><dep> 7.00000</dep></entry>
					<entry><ind>20000</ind><dep> 6.80000</dep></entry>
					<entry><ind>22000</ind><dep> 6.20000</dep></entry>
					<entry><ind>24000</ind><dep> 5.70000</dep></entry>
					<entry><ind>26000</ind><dep> 5.20000</dep></entry>
					<entry><ind>28000</ind><dep> 4.70000</dep></entry>
                    <entry><ind>30000</ind><dep> 4.40000</dep></entry>
					<entry><ind>32000</ind><dep> 4.00000</dep></entry>
					<entry><ind>34000</ind><dep> 3.60000</dep></entry>
					<entry><ind>36000</ind><dep> 3.30000</dep></entry>
					<entry><ind>38000</ind><dep> 3.00000</dep></entry>
					<entry><ind>39000</ind><dep> 2.90000</dep></entry>
					<entry><ind>40000</ind><dep> 2.70000</dep></entry>
					<entry><ind>41000</ind><dep> 2.60000</dep></entry>
					<entry><ind>42000</ind><dep> 2.50000</dep></entry>
				</table>
			</expression>
		</input>
		<output>/systems/pressurization/ambientpsi</output>
	</filter>

	<filter>
		<name>Outflow Valve</name>
		<type>noise-spike</type>
		<input> 
			<property>/systems/pressurization/outflowpos</property> 
		</input>
		<output>/systems/pressurization/outflowpos-norm</output>
		<max-rate-of-change>1</max-rate-of-change>
	</filter>
	
	<filter>
        <name>Outflow logic</name>
        <type>gain</type>
        <gain>1</gain>
        <update-interval-secs type="double">0.1</update-interval-secs>
        <input> 
			<condition>
				<equals>
					<property>/systems/pressurization/auto</property>
					<value>0</value>
				</equals>
			</condition>
			<property>/systems/pressurization/outflowpos-man</property>
        </input>
        <input> 
			<condition>
				<equals>
					<property>/systems/pressurization/auto</property>
					<value>1</value>
				</equals>
			</condition>
			<property>/systems/pressurization/outflowpos-norm-cmd</property>
        </input>
        <output>/systems/pressurization/outflowpos-norm</output>   
    </filter>
	
	<filter>
		<name>Cabin VS</name>
		<type>noise-spike</type>
		<input> 
			<property>/systems/pressurization/vs</property> 
		</input>
		<output>/systems/pressurization/vs-norm</output>
		<max-rate-of-change>500</max-rate-of-change>
	</filter>
	
	<filter>
		<name>Cabin Differential</name>
		<type>noise-spike</type>
		<input> 
			<property>/systems/pressurization/deltap</property>
		</input>
		<output>/systems/pressurization/deltap-norm</output>
		<max-rate-of-change>1</max-rate-of-change>
	</filter>
	
	<filter>
		<name>Cabin Alt</name>
		<type>noise-spike</type>
		<input>
			<property>/systems/pressurization/cabinalt</property>
		</input>
		<output>/systems/pressurization/cabinalt-norm</output>
		<max-rate-of-change>40500</max-rate-of-change>
	</filter>
	
	<filter>
		<name>VS-target-cmd</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input>
			<expression>
				<table>
					<property>/it-autoflight/internal/vert-speed-fpm</property> 
					<entry><ind>-50000</ind><dep>-750</dep></entry>
					<entry><ind> -2000</ind><dep> -750</dep></entry>
					<entry><ind> -1000</ind><dep>  -250</dep></entry>
					<entry><ind>     0</ind><dep>     0</dep></entry>
					<entry><ind>  1000</ind><dep>   810</dep></entry>
					<entry><ind>  2000</ind><dep>   1640</dep></entry>
					<entry><ind>  3000</ind><dep>  2100</dep></entry>
					<entry><ind>  4000</ind><dep>  2440</dep></entry>
					<entry><ind>  5000</ind><dep>  3000</dep></entry>
					<entry><ind>10000</ind><dep>   5000</dep></entry>
					<entry><ind>50000</ind><dep>  50000</dep></entry>
				</table>
			</expression>
		</input>
		<output>/systems/pressurization/targetvs-cmd</output>
	</filter>
	
	<filter>
		<name>VS-target-cmd-man</name>
		<type>gain</type>
		<gain>1</gain>
		<update-interval-secs type="double">0.05</update-interval-secs>
		<input>
			<expression>
				<table>
					<property>/systems/pressurization/outflowpos-man</property> 
					<entry><ind>0</ind><dep>-1000</dep></entry>
					<entry><ind>0.5</ind><dep>0</dep></entry>
					<entry><ind>1</ind><dep>2500</dep></entry>
				</table>
			</expression>
		</input>
		<output>/systems/pressurization/manvs-cmd</output>
	</filter>
	

	
	<filter>
        <name>VS-target</name>
        <type>gain</type>
        <gain>1</gain>
        <update-interval-secs type="double">0.1</update-interval-secs>
        <input> 
			<condition>
				<equals>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</equals>
			</condition>
			<value>0</value>
        </input>
        <input> 
			<condition>
				<not>
					<property>/gear/gear[1]/wow</property>
					<value>1</value>
				</not>
			</condition>
			<property>/systems/pressurization/targetvs-cmd</property>
        </input>
        <output>/systems/pressurization/targetvs</output>   
    </filter>
</PropertyList>