Advertisement
KeithS

Landing Distances

Oct 6th, 2015
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <title>Landing Distances</title>
  5.     <meta charset="utf-8"/>
  6.     <link rel="shortcut icon" type="image/x-icon" href="land.ico" />
  7.    
  8.     <script>
  9.         // A319 QRH INFLIGHT PERFORMANCE LANDING DISTANCE DATA (NO FAILURES)
  10.         var basic_dist = new Array();
  11.         basic_dist[0]=1020; // Dry Full
  12.         basic_dist[1]=1270;
  13.         basic_dist[2]=1800;
  14.         basic_dist[3]=1100; // Dry Conf 3
  15.         basic_dist[4]=1370;
  16.         basic_dist[5]=1970;
  17.         basic_dist[6]=1320; // Good Full
  18.         basic_dist[7]=1360;
  19.         basic_dist[8]=1800;
  20.         basic_dist[9]=1480; // Good Conf 3
  21.         basic_dist[10]=1520;
  22.         basic_dist[11]=1970;
  23.         basic_dist[12]=1580; // Good to Medium Full
  24.         basic_dist[13]=1610;
  25.         basic_dist[14]=1810;
  26.         basic_dist[15]=1740; // Good to Medium Conf 3
  27.         basic_dist[16]=1770;
  28.         basic_dist[17]=1990;
  29.         basic_dist[18]=1760; // Medium Full
  30.         basic_dist[19]=1790;
  31.         basic_dist[20]=1910;
  32.         basic_dist[21]=1960; // Medium Conf 3
  33.         basic_dist[22]=1990;
  34.         basic_dist[23]=2110;
  35.         basic_dist[24]=1960; // Medium to Poor Full
  36.         basic_dist[25]=1970;
  37.         basic_dist[26]=2000;
  38.         basic_dist[27]=2290; // Medium to Poor Conf 3
  39.         basic_dist[28]=2290;
  40.         basic_dist[29]=2340;
  41.         basic_dist[30]=3230; // Poor Full
  42.         basic_dist[31]=3240;
  43.         basic_dist[32]=3260;
  44.         basic_dist[33]=3760; // Poor Conf 3
  45.         basic_dist[34]=3780;
  46.         basic_dist[35]=3810;
  47.        
  48.         var weight_below = new Array();
  49.         weight_below[0]=-10; // Dry Full
  50.         weight_below[1]=-10;
  51.         weight_below[2]=-10;
  52.         weight_below[3]=-10; // Dry Conf 3
  53.         weight_below[4]=-10;
  54.         weight_below[5]=-20;
  55.         weight_below[6]=-10; // Good Full
  56.         weight_below[7]=-10;
  57.         weight_below[8]=-10;
  58.         weight_below[9]=-20; // Good Conf 3
  59.         weight_below[10]=-20;
  60.         weight_below[11]=-20;
  61.         weight_below[12]=-10; // Good to Medium Full
  62.         weight_below[13]=-10;
  63.         weight_below[14]=-10;
  64.         weight_below[15]=-20; // Good to Medium Conf 3
  65.         weight_below[16]=-20;
  66.         weight_below[17]=-20;
  67.         weight_below[18]=-10; // Medium Full
  68.         weight_below[19]=-10;
  69.         weight_below[20]=-10;
  70.         weight_below[21]=-20; // Medium Conf 3
  71.         weight_below[22]=-20;
  72.         weight_below[23]=-20;
  73.         weight_below[24]=-20; // Medium to Poor Full
  74.         weight_below[25]=-20;
  75.         weight_below[26]=-20;
  76.         weight_below[27]=-30; // Medium to Poor Conf 3
  77.         weight_below[28]=-30;
  78.         weight_below[29]=-30;
  79.         weight_below[30]=-20; // Poor Full
  80.         weight_below[31]=-20;
  81.         weight_below[32]=-20;
  82.         weight_below[33]=-30; // Poor Conf 3
  83.         weight_below[34]=-30;
  84.         weight_below[35]=-30;
  85.        
  86.         var weight_above = new Array();
  87.         weight_above[0]=40; // Dry Full
  88.         weight_above[1]=30;
  89.         weight_above[2]=50;
  90.         weight_above[3]=50; // Dry Conf 3
  91.         weight_above[4]=40;
  92.         weight_above[5]=50;
  93.         weight_above[6]=50; // Good Full
  94.         weight_above[7]=50;
  95.         weight_above[8]=50;
  96.         weight_above[9]=50; // Good Conf 3
  97.         weight_above[10]=50;
  98.         weight_above[11]=50;
  99.         weight_above[12]=40; // Good to Medium Full
  100.         weight_above[13]=40;
  101.         weight_above[14]=50;
  102.         weight_above[15]=40; // Good to Medium Conf 3
  103.         weight_above[16]=40;
  104.         weight_above[17]=50;
  105.         weight_above[18]=40; // Medium Full
  106.         weight_above[19]=40;
  107.         weight_above[20]=50;
  108.         weight_above[21]=50; // Medium Conf 3
  109.         weight_above[22]=40;
  110.         weight_above[23]=50;
  111.         weight_above[24]=70; // Medium to Poor Full
  112.         weight_above[25]=70;
  113.         weight_above[26]=70;
  114.         weight_above[27]=80; // Medium to Poor Conf 3
  115.         weight_above[28]=80;
  116.         weight_above[29]=80;
  117.         weight_above[30]=70; // Poor Full
  118.         weight_above[31]=70;
  119.         weight_above[32]=70;
  120.         weight_above[33]=80; // Poor Conf 3
  121.         weight_above[34]=80;
  122.         weight_above[35]=80;
  123.        
  124.         var per_five_kt = new Array();
  125.         per_five_kt[0]=70; // Dry Full
  126.         per_five_kt[1]=90;
  127.         per_five_kt[2]=130;
  128.         per_five_kt[3]=70; // Dry Conf 3
  129.         per_five_kt[4]=100;
  130.         per_five_kt[5]=140;
  131.         per_five_kt[6]=110; // Good Full
  132.         per_five_kt[7]=110;
  133.         per_five_kt[8]=130;
  134.         per_five_kt[9]=120; // Good Conf 3
  135.         per_five_kt[10]=120;
  136.         per_five_kt[11]=120;
  137.         per_five_kt[12]=90; // Good to Medium Full
  138.         per_five_kt[13]=90;
  139.         per_five_kt[14]=140;
  140.         per_five_kt[15]=100; // Good to Medium Conf 3
  141.         per_five_kt[16]=100;
  142.         per_five_kt[17]=140;
  143.         per_five_kt[18]=110; // Medium Full
  144.         per_five_kt[19]=100;
  145.         per_five_kt[20]=130;
  146.         per_five_kt[21]=110; // Medium Conf 3
  147.         per_five_kt[22]=110;
  148.         per_five_kt[23]=140;
  149.         per_five_kt[24]=160; // Medium to Poor Full
  150.         per_five_kt[25]=150;
  151.         per_five_kt[26]=160;
  152.         per_five_kt[27]=180; // Medium to Poor Conf 3
  153.         per_five_kt[28]=200;
  154.         per_five_kt[29]=180;
  155.         per_five_kt[30]=140; // Poor Full
  156.         per_five_kt[31]=140;
  157.         per_five_kt[32]=150;
  158.         per_five_kt[33]=170; // Poor Conf 3
  159.         per_five_kt[34]=160;
  160.         per_five_kt[35]=170;
  161.        
  162.         var per_thousand = new Array();
  163.         per_thousand[0]=30; // Dry Full
  164.         per_thousand[1]=40;
  165.         per_thousand[2]=70;
  166.         per_thousand[3]=40; // Dry Conf 3
  167.         per_thousand[4]=50;
  168.         per_thousand[5]=70;
  169.         per_thousand[6]=60; // Good Full
  170.         per_thousand[7]=60;
  171.         per_thousand[8]=70;
  172.         per_thousand[9]=70; // Good Conf 3
  173.         per_thousand[10]=70;
  174.         per_thousand[11]=70;
  175.         per_thousand[12]=60; // Good to Medium Full
  176.         per_thousand[13]=60;
  177.         per_thousand[14]=70;
  178.         per_thousand[15]=60; // Good to Medium Conf 3
  179.         per_thousand[16]=60;
  180.         per_thousand[17]=70;
  181.         per_thousand[18]=60; // Medium Full
  182.         per_thousand[19]=70;
  183.         per_thousand[20]=70;
  184.         per_thousand[21]=70; // Medium Conf 3
  185.         per_thousand[22]=70;
  186.         per_thousand[23]=80;
  187.         per_thousand[24]=100; // Medium to Poor Full
  188.         per_thousand[25]=110;
  189.         per_thousand[26]=110;
  190.         per_thousand[27]=130; // Medium to Poor Conf 3
  191.         per_thousand[28]=130;
  192.         per_thousand[29]=130;
  193.         per_thousand[30]=120; // Poor Full
  194.         per_thousand[31]=120;
  195.         per_thousand[32]=120;
  196.         per_thousand[33]=140; // Poor Conf 3
  197.         per_thousand[34]=140;
  198.         per_thousand[35]=140;
  199.        
  200.         var per_tw_five = new Array();
  201.         per_tw_five[0]=110; // Dry Full
  202.         per_tw_five[1]=130;
  203.         per_tw_five[2]=200;
  204.         per_tw_five[3]=120; // Dry Conf 3
  205.         per_tw_five[4]=130;
  206.         per_tw_five[5]=200;
  207.         per_tw_five[6]=200; // Good Full
  208.         per_tw_five[7]=210;
  209.         per_tw_five[8]=200;
  210.         per_tw_five[9]=230; // Good Conf 3
  211.         per_tw_five[10]=230;
  212.         per_tw_five[11]=200;
  213.         per_tw_five[12]=190; // Good to Medium Full
  214.         per_tw_five[13]=200;
  215.         per_tw_five[14]=210;
  216.         per_tw_five[15]=200; // Good to Medium Conf 3
  217.         per_tw_five[16]=200;
  218.         per_tw_five[17]=210;
  219.         per_tw_five[18]=220; // Medium Full
  220.         per_tw_five[19]=230;
  221.         per_tw_five[20]=240;
  222.         per_tw_five[21]=240; // Medium Conf 3
  223.         per_tw_five[22]=240;
  224.         per_tw_five[23]=240;
  225.         per_tw_five[24]=360; // Medium to Poor Full
  226.         per_tw_five[25]=360;
  227.         per_tw_five[26]=370;
  228.         per_tw_five[27]=410; // Medium to Poor Conf 3
  229.         per_tw_five[28]=400;
  230.         per_tw_five[29]=420;
  231.         per_tw_five[30]=570; // Poor Full
  232.         per_tw_five[31]=570;
  233.         per_tw_five[32]=570;
  234.         per_tw_five[33]=600; // Poor Conf 3
  235.         per_tw_five[34]=610;
  236.         per_tw_five[35]=610;
  237.        
  238.         var plus_ten_isa = new Array();
  239.         plus_ten_isa[0]=40; // Dry Full
  240.         plus_ten_isa[1]=40;
  241.         plus_ten_isa[2]=60;
  242.         plus_ten_isa[3]=40; // Dry Conf 3
  243.         plus_ten_isa[4]=50;
  244.         plus_ten_isa[5]=70;
  245.         plus_ten_isa[6]=60; // Good Full
  246.         plus_ten_isa[7]=50;
  247.         plus_ten_isa[8]=60;
  248.         plus_ten_isa[9]=60; // Good Conf 3
  249.         plus_ten_isa[10]=60;
  250.         plus_ten_isa[11]=70;
  251.         plus_ten_isa[12]=50; // Good to Medium Full
  252.         plus_ten_isa[13]=50;
  253.         plus_ten_isa[14]=60;
  254.         plus_ten_isa[15]=60; // Good to Medium Conf 3
  255.         plus_ten_isa[16]=60;
  256.         plus_ten_isa[17]=70;
  257.         plus_ten_isa[18]=70; // Medium Full
  258.         plus_ten_isa[19]=60;
  259.         plus_ten_isa[20]=70;
  260.         plus_ten_isa[21]=70; // Medium Conf 3
  261.         plus_ten_isa[22]=70;
  262.         plus_ten_isa[23]=70;
  263.         plus_ten_isa[24]=110; // Medium to Poor Full
  264.         plus_ten_isa[25]=100;
  265.         plus_ten_isa[26]=90;
  266.         plus_ten_isa[27]=130; // Medium to Poor Conf 3
  267.         plus_ten_isa[28]=140;
  268.         plus_ten_isa[29]=120;
  269.         plus_ten_isa[30]=150; // Poor Full
  270.         plus_ten_isa[31]=150;
  271.         plus_ten_isa[32]=150;
  272.         plus_ten_isa[33]=180; // Poor Conf 3
  273.         plus_ten_isa[34]=180;
  274.         plus_ten_isa[35]=180;
  275.        
  276.         var down_slope_one = new Array();
  277.         down_slope_one[0]=20; // Dry Full
  278.         down_slope_one[1]=10;
  279.         down_slope_one[2]=30;
  280.         down_slope_one[3]=20; // Dry Conf 3
  281.         down_slope_one[4]=10;
  282.         down_slope_one[5]=30;
  283.         down_slope_one[6]=50; // Good Full
  284.         down_slope_one[7]=50;
  285.         down_slope_one[8]=30;
  286.         down_slope_one[9]=60; // Good Conf 3
  287.         down_slope_one[10]=60;
  288.         down_slope_one[11]=30;
  289.         down_slope_one[12]=80; // Good to Medium Full
  290.         down_slope_one[13]=80;
  291.         down_slope_one[14]=60;
  292.         down_slope_one[15]=90; // Good to Medium Conf 3
  293.         down_slope_one[16]=90;
  294.         down_slope_one[17]=60;
  295.         down_slope_one[18]=110; // Medium Full
  296.         down_slope_one[19]=110;
  297.         down_slope_one[20]=100;
  298.         down_slope_one[21]=120; // Medium Conf 3
  299.         down_slope_one[22]=130;
  300.         down_slope_one[23]=110;
  301.         down_slope_one[24]=150; // Medium to Poor Full
  302.         down_slope_one[25]=160;
  303.         down_slope_one[26]=170;
  304.         down_slope_one[27]=200; // Medium to Poor Conf 3
  305.         down_slope_one[28]=210;
  306.         down_slope_one[29]=220;
  307.         down_slope_one[30]=950; // Poor Full
  308.         down_slope_one[31]=950;
  309.         down_slope_one[32]=950;
  310.         down_slope_one[33]=1170; // Poor Conf 3
  311.         down_slope_one[34]=1180;
  312.         down_slope_one[35]=1180;
  313.        
  314.         var full_revs = new Array();
  315.         full_revs[0]=-10; // Dry Full
  316.         full_revs[1]=0;
  317.         full_revs[2]=-10;
  318.         full_revs[3]=-20; // Dry Conf 3
  319.         full_revs[4]=0;
  320.         full_revs[5]=-10;
  321.         full_revs[6]=-40; // Good Full
  322.         full_revs[7]=-30;
  323.         full_revs[8]=-10;
  324.         full_revs[9]=-50; // Good Conf 3
  325.         full_revs[10]=-40;
  326.         full_revs[11]=-10;
  327.         full_revs[12]=-70; // Good to Medium Full
  328.         full_revs[13]=-80;
  329.         full_revs[14]=-10;
  330.         full_revs[15]=-90; // Good to Medium Conf 3
  331.         full_revs[16]=-100;
  332.         full_revs[17]=-20;
  333.         full_revs[18]=-100; // Medium Full
  334.         full_revs[19]=-100;
  335.         full_revs[20]=-50;
  336.         full_revs[21]=-110; // Medium Conf 3
  337.         full_revs[22]=-130;
  338.         full_revs[23]=-70;
  339.         full_revs[24]=-110; // Medium to Poor Full
  340.         full_revs[25]=-110;
  341.         full_revs[26]=-50;
  342.         full_revs[27]=-130; // Medium to Poor Conf 3
  343.         full_revs[28]=-140;
  344.         full_revs[29]=-100;
  345.         full_revs[30]=-320; // Poor Full
  346.         full_revs[31]=-330;
  347.         full_revs[32]=-330;
  348.         full_revs[33]=-430; // Poor Conf 3
  349.         full_revs[34]=-450;
  350.         full_revs[35]=-450;
  351.        
  352.         var overweight = new Array();
  353.         overweight[0]=420; // Dry Full
  354.         overweight[1]=530; // Dry Conf 3
  355.         overweight[2]=360; // Good Full
  356.         overweight[3]=450; // Good Conf 3
  357.         overweight[4]=380; // Good to Medium Full
  358.         overweight[5]=480; // Good to Medium Conf 3
  359.         overweight[6]=360; // Medium Full
  360.         overweight[7]=460; // Medium Conf 3
  361.         overweight[8]=310; // Medium to Poor Full
  362.         overweight[9]=390; // Medium to Poor Conf 3
  363.         overweight[10]=310; // Poor Full
  364.         overweight[11]=380; // Poor Conf 3
  365.        
  366.         var autoland = new Array();
  367.         autoland[0]=170; // Dry Full
  368.         autoland[1]=120; // Dry Conf 3
  369.         autoland[2]=220; // Good Full
  370.         autoland[3]=180; // Good Conf 3
  371.         autoland[4]=210; // Good to Medium Full
  372.         autoland[5]=180; // Good to Medium Conf 3
  373.         autoland[6]=220; // Medium Full
  374.         autoland[7]=190; // Medium Conf 3
  375.         autoland[8]=280; // Medium to Poor Full
  376.         autoland[9]=300; // Medium to Poor Conf 3
  377.         autoland[10]=270; // Poor Full
  378.         autoland[11]=280; // Poor Conf 3
  379.        
  380.         // PRESET AIRPORT DATA
  381.         var preset_elevation = new Array();
  382.         preset_elevation[0]=832; // Coca 16
  383.         preset_elevation[1]=834; // Coca 34
  384.         preset_elevation[2]=8306; // Cuenca 05
  385.         preset_elevation[3]=8255; // Cuenca 23
  386.         preset_elevation[4]=16; // Guayaquil 03
  387.         preset_elevation[5]=13; // Guayaquil 21
  388.         preset_elevation[6]=144; // Baltra 14
  389.         preset_elevation[7]=207; // Baltra 32
  390.         preset_elevation[8]=36; // Manta 06
  391.         preset_elevation[9]=49; // Manta 24
  392.         preset_elevation[10]=7776; // Quito 18
  393.         preset_elevation[11]=7910; // Quito 36
  394.         preset_elevation[12]=31; // San Cristobal 17
  395.         preset_elevation[13]=53; // San Cristobal 35
  396.         preset_elevation[14]=8352; // Bogota 13L
  397.         preset_elevation[15]=8348; // Bogota 13R
  398.         preset_elevation[16]=8351; // Bogota 31L
  399.         preset_elevation[17]=8357; // Bogota 31R
  400.         preset_elevation[18]=3152; // Cali 01
  401.         preset_elevation[19]=3162; // Cali 19
  402.         preset_elevation[20]=7025; // Rio Negro 18
  403.         preset_elevation[21]=6967; // Rio Negro 36
  404.         preset_elevation[22]=46; // Lima 15
  405.         preset_elevation[23]=113; // Lima 33
  406.        
  407.         var preset_heading = new Array();
  408.         preset_heading[0]=157; // Coca 16
  409.         preset_heading[1]=337; // Coca 34
  410.         preset_heading[2]=54; // Cuenca 05
  411.         preset_heading[3]=234; // Cuenca 23
  412.         preset_heading[4]=30; // Guayaquil 03
  413.         preset_heading[5]=210; // Guayaquil 21
  414.         preset_heading[6]=140; // Baltra 14
  415.         preset_heading[7]=320; // Baltra 32
  416.         preset_heading[8]=56; // Manta 06
  417.         preset_heading[9]=236; // Manta 24
  418.         preset_heading[10]=180; // Quito 18
  419.         preset_heading[11]=360; // Quito 36
  420.         preset_heading[12]=165; // San Cristobal 17
  421.         preset_heading[13]=345; // San Cristobal 35
  422.         preset_heading[14]=134; // Bogota 13L
  423.         preset_heading[15]=134; // Bogota 13R
  424.         preset_heading[16]=314; // Bogota 31L
  425.         preset_heading[17]=314; // Bogota 31R
  426.         preset_heading[18]=14; // Cali 01
  427.         preset_heading[19]=194; // Cali 19
  428.         preset_heading[20]=184; // Rio Negro 18
  429.         preset_heading[21]=4; // Rio Negro 36
  430.         preset_heading[22]=153; // Lima 15
  431.         preset_heading[23]=333; // Lima 33
  432.        
  433.         var preset_length = new Array();
  434.         preset_length[0]=2300; // Coca 16
  435.         preset_length[1]=2300; // Coca 34
  436.         preset_length[2]=1900; // Cuenca 05
  437.         preset_length[3]=1900; // Cuenca 23
  438.         preset_length[4]=2684; // Guayaquil 03
  439.         preset_length[5]=2684; // Guayaquil 21 (2777 with stopway)
  440.         preset_length[6]=2400; // Baltra 14
  441.         preset_length[7]=2400; // Baltra 32
  442.         preset_length[8]=2852; // Manta 06
  443.         preset_length[9]=2852; // Manta 24
  444.         preset_length[10]=4098; // Quito 18
  445.         preset_length[11]=4098; // Quito 36
  446.         preset_length[12]=1840; // San Cristobal 17
  447.         preset_length[13]=1840; // San Cristobal 35
  448.         preset_length[14]=3800; // Bogota 13L
  449.         preset_length[15]=3800; // Bogota 13R
  450.         preset_length[16]=3800; // Bogota 31L
  451.         preset_length[17]=3800; // Bogota 31R
  452.         preset_length[18]=3000; // Cali 01
  453.         preset_length[19]=3000; // Cali 19
  454.         preset_length[20]=3500; // Rio Negro 18
  455.         preset_length[21]=3500; // Rio Negro 36
  456.         preset_length[22]=3507; // Lima 15
  457.         preset_length[23]=3507; // Lima 33
  458.        
  459.        
  460.         var preset_slope = new Array();
  461.         preset_slope[0]=0.03; // Coca 16
  462.         preset_slope[1]=-0.03; // Coca 34
  463.         preset_slope[2]=-0.82; // Cuenca 05
  464.         preset_slope[3]=0.82; // Cuenca 23
  465.         preset_slope[4]=-0.03; // Guayaquil 03
  466.         preset_slope[5]=0.03; // Guayaquil 21
  467.         preset_slope[6]=0.8; // Baltra 14
  468.         preset_slope[7]=-0.8; // Baltra 32
  469.         preset_slope[8]=0.14; // Manta 06
  470.         preset_slope[9]=-0.14; // Manta 24
  471.         preset_slope[10]=1.0; // Quito 18
  472.         preset_slope[11]=-1.0; // Quito 36
  473.         preset_slope[12]=0.36; // San Cristobal 17
  474.         preset_slope[13]=-0.36; // San Cristobal 35
  475.         preset_slope[14]=0.04; // Bogota 13L
  476.         preset_slope[15]=0.02; // Bogota 13R
  477.         preset_slope[16]=-0.02; // Bogota 31L
  478.         preset_slope[17]=-0.04; // Bogota 31R
  479.         preset_slope[18]=0.1; // Cali 01
  480.         preset_slope[19]=-0.1; // Cali 19
  481.         preset_slope[20]=-0.5; // Rio Negro 18
  482.         preset_slope[21]=0.5; // Rio Negro 36
  483.         preset_slope[22]=0.58; // Lima 15
  484.         preset_slope[23]=-0.58; // Lima 33
  485.  
  486.         //VLS for FULL
  487.         var vls = new Array();
  488.         vls_full[0]=111;
  489.         vls_full[1]=113;
  490.         vls_full[2]=116;
  491.         vls_full[3]=121;
  492.         vls_full[4]=125;
  493.         vls_full[5]=129;
  494.         vls_full[6]=133;
  495.         vls_full[7]=137;
  496.         vls_full[8]=142;
  497.        
  498.         //VLS for conf 3
  499.         var vls_conf3 = new Array();
  500.         vls_conf3[0]=113;
  501.         vls_conf3[1]=117;
  502.         vls_conf3[2]=122;
  503.         vls_conf3[3]=127;
  504.         vls_conf3[4]=131;
  505.         vls_conf3[5]=136;
  506.         vls_conf3[6]=140;
  507.         vls_conf3[7]=144;
  508.         vls_conf3[8]=149;
  509.  
  510.         var key_weight = new Array();
  511.         key_weight[0]=44;
  512.         key_weight[1]=47;
  513.         key_weight[2]=51;
  514.         key_weight[3]=55;
  515.         key_weight[4]=59;
  516.         key_weight[5]=63;
  517.         key_weight[6]=67;
  518.         key_weight[7]=71;
  519.         key_weight[8]=76;
  520.  
  521.         //Runway data variables
  522.         var runway_elevation = 0;
  523.         var runway_heading = 0;
  524.         var runway_length = 0;
  525.         var runway_slope = 0.0;
  526.        
  527.         // Configuration and conditions variables
  528.         var isa_dev = 0;
  529.  
  530.  
  531.         // function to toggle preselected or custom airport runway entry
  532.         function disable_runway_boxes()
  533.         {
  534.             if(document.configuration.preselected.checked)
  535.             {
  536.                 document.configuration.airport.disabled=false;
  537.                 document.configuration.elev.disabled=true;
  538.                 document.configuration.hdg.disabled=true;
  539.                 document.configuration.length.disabled=true;
  540.                 document.configuration.slope.disabled=true;
  541.             }
  542.             else
  543.             {
  544.                 document.configuration.airport.disabled=true;
  545.                 document.configuration.elev.disabled=false;
  546.                 document.configuration.hdg.disabled=false;
  547.                 document.configuration.length.disabled=false;
  548.                 document.configuration.slope.disabled=false;
  549.             }
  550.         }
  551.        
  552.         // function to select a runway
  553.         function select_runway()
  554.         {
  555.             var len = document.configuration.airport.length;
  556.             var selected_runway = "";
  557.             var i = 0;
  558.             var index_check = -1;
  559.            
  560.             for(i=0;i<len;i++)
  561.             {
  562.                 if(document.configuration.airport[i].selected)
  563.                 {
  564.                     index_check = i;
  565.                     selected_runway = document.configuration.airport[i].value;
  566.                     break;
  567.                 }
  568.             }
  569.             runway_elevation = preset_elevation[index_check];
  570.             runway_heading = preset_heading[index_check];
  571.             runway_length = preset_length[index_check];
  572.             runway_slope = preset_slope[index_check];
  573.            
  574.             document.configuration.elev.value = runway_elevation;
  575.             document.configuration.hdg.value = runway_heading;
  576.             document.configuration.length.value = runway_length;
  577.             document.configuration.slope.value = runway_slope;
  578.         }
  579.        
  580.         function deg_to_rad(x)
  581.         {
  582.             return (x * Math.PI) / 180;
  583.         }
  584.        
  585.         // Select basic runway distance
  586.         function basic_runway_distance()
  587.         {
  588.             var base_land_distance = 0;
  589.             var i = 0;
  590.             var selected_index = 0;
  591.             var len = document.configuration.runway_conds.length;
  592.            
  593.             for(i=0;i<len;i++)
  594.             {
  595.                 if(document.configuration.runway_conds[i].selected)
  596.                 {
  597.                     selected_cond_index = i;
  598.                     break;
  599.                 }
  600.             }
  601.            
  602.             // correct for flaps
  603.             var flaps_conf3 = 0;
  604.             if(document.configuration.flaps.checked)
  605.             {
  606.                 flaps_conf3 = 3;
  607.             }
  608.             else
  609.             {
  610.                 flaps_conf3 = 0;
  611.             }
  612.            
  613.             // correct for brakes
  614.             var brakes_setting = 0;
  615.             if(document.configuration.brakes[0].checked)
  616.             {
  617.                 brakes_setting = 0;
  618.             }
  619.             else if(document.configuration.brakes[1].checked)
  620.             {
  621.                 brakes_setting = 1;
  622.             }
  623.             else
  624.             {
  625.                 brakes_setting = 2;
  626.             }
  627.            
  628.             var abrev_tables_index = (selected_cond_index * 2) + flaps_conf3;
  629.             var tables_index = (selected_cond_index * 6) + flaps_conf3 + brakes_setting;
  630.             base_land_distance = basic_dist[tables_index];
  631.             // document.getElementById("test_box").value = base_land_distance;
  632.            
  633.             // correct for reversers
  634.             var reverser_effect = 0;
  635.             if(document.configuration.revs.checked)
  636.             {
  637.                 reverser_effect = full_revs[tables_index] * 2;
  638.             }
  639.             else
  640.             {
  641.                 reverser_effect = 0;
  642.             }
  643.            
  644.             // correct for altitude
  645.             var altitude_effect = 0;
  646.             var airport_elevation = document.configuration.elev.value;
  647.             if(airport_elevation > 0 || airport_elevation != "")
  648.             {
  649.                 altitude_effect = Math.round((airport_elevation / 1000) * per_thousand[tables_index]);
  650.             }
  651.             else
  652.             {
  653.                 altitude_effect = 0;
  654.             }
  655.            
  656.             // correct for slope
  657.             var slope_effect = 0;
  658.             var runway_slope = document.configuration.slope.value;
  659.             if(runway_slope < 0.0)
  660.             {
  661.                 slope_effect = Math.round((runway_slope * -1) * down_slope_one[tables_index]);
  662.             }
  663.             else
  664.             {
  665.                 slope_effect = 0;
  666.             }
  667.            
  668.             // correct for weight
  669.             var weight_effect = 0;
  670.             var aircraft_weight = document.configuration.lw.value;
  671.             if(aircraft_weight > 63.0)
  672.             {
  673.                 weight_effect = Math.round((aircraft_weight - 63.0) * weight_above[tables_index]);
  674.             }
  675.             else if(aircraft_weight < 63.0)
  676.             {
  677.                 weight_effect = Math.round((63.0 - aircraft_weight) * weight_below[tables_index]);
  678.             }
  679.             else if(aircraft_weight == 63.0)
  680.             {
  681.                 weight_effect = 0;
  682.             }
  683.            
  684.             // overweight landing procedure
  685.             var over_mlw_effect = 0;
  686.             if(aircraft_weight > 61.0)
  687.             {
  688.                 over_mlw_effect = overweight[abrev_tables_index];
  689.             }
  690.             else
  691.             {
  692.                 over_mlw_effect = 0;
  693.             }
  694.            
  695.             // autoland
  696.             var autoland_effect = 0;
  697.             if(document.configuration.autoland.checked)
  698.             {
  699.                 autoland_effect = autoland[abrev_tables_index];
  700.             }
  701.             else
  702.             {
  703.                 autoland_effect = 0;
  704.             }
  705.            
  706.             // correct for isa deviation
  707.             var oat = document.configuration.oat.value;
  708.             var isa_dev = oat - (15 - ((airport_elevation / 1000) * 2));
  709.             var temp_effect = 0;
  710.             if(isa_dev > 0)
  711.             {
  712.                 temp_effect = Math.round((isa_dev / 10.0) * plus_ten_isa[tables_index]);
  713.             }
  714.             else
  715.             {
  716.                 temp_effect = 0;
  717.             }
  718.            
  719.             // wind corrections
  720.             var wind_dir = document.configuration.wind_dir.value;
  721.             var wind_vel = document.configuration.wind_vel.value;
  722.             var rwy_hdg = document.configuration.hdg.value;
  723.            
  724.             if(wind_dir > 360)
  725.             {
  726.                 while(wind_dir > 360)
  727.                 {
  728.                     wind_dir -= 360;
  729.                 }
  730.             }
  731.             if(wind_dir <= 0)
  732.             {
  733.                 while(wind_dir <= 0)
  734.                 {
  735.                     wind_dir += 360;
  736.                 }
  737.             }
  738.             if(rwy_hdg > 360)
  739.             {
  740.                 while(rwy_hdg > 360)
  741.                 {
  742.                     rwy_hdg -= 360;
  743.                 }
  744.             }
  745.             if(rwy_hdg <= 0)
  746.             {
  747.                 while(rwy_hdg <= 0)
  748.                 {
  749.                     rwy_hdg += 360;
  750.                 }
  751.             }
  752.            
  753.             var relative_wind_angle = wind_dir - rwy_hdg;
  754.             if(relative_wind_angle > 180)
  755.             {
  756.                 relative_wind_angle -= 360;
  757.             }
  758.             if(relative_wind_angle < -180)
  759.             {
  760.                 relative_wind_angle -= 360;
  761.             }
  762.            
  763.             var relative_angle_rads = deg_to_rad(relative_wind_angle);
  764.             var hw_tw_component = Math.cos(relative_angle_rads) * wind_vel;
  765.             var five_kt_wind_correction = per_five_kt[tables_index];
  766.             var wind_correction = 0;
  767.            
  768.             if(hw_tw_component < 0)
  769.             {
  770.                 wind_correction = Math.round(five_kt_wind_correction + (hw_tw_component * (per_tw_five[tables_index] / 5.0)));
  771.             }
  772.             else if(hw_tw_component < 15 && hw_tw_component >= 0)
  773.             {
  774.                 wind_correction = five_kt_wind_correction;
  775.             }
  776.             else
  777.             {
  778.                 wind_correction = 0;
  779.             }
  780.            
  781.             document.getElementById("test_box").value = base_land_distance + Math.round(five_kt_wind_correction) + reverser_effect + altitude_effect + slope_effect + weight_effect + temp_effect + over_mlw_effect + autoland_effect;
  782.             //document.getElementById("test_box_2").value = hw_tw_component;
  783.             vap();
  784.             //document.getElementById("test_box_2").value = "Hello";
  785.         }
  786.        
  787.         function vap()
  788.         {
  789.             var aircraft_weight = document.configuration.lw.value;
  790.             var len = key_weight.length;
  791.             //var i = 0;
  792.             //for(i=0;i<
  793.             document.getElementById("test_box_2").value = "Hello!";//len;//aircraft_weight;
  794.         }
  795.        
  796.     </script>
  797.    
  798.     <noscript>
  799.         <p>JavaScript is not enabled.</p>
  800.     </noscript>
  801.    
  802. </head>
  803.  
  804. <body bgcolor="lightblue">
  805.     <h1><font color="navy">A319 Landing Distances</font></h1>
  806.     <hr>
  807.     <div id="confs">
  808.         <form name="configuration">
  809.             <h2><font color="indigo">Select Configuration and Conditions</font></h2>
  810.             <p>
  811.                 <input type="checkbox" name="flaps" value="flaps3">&nbsp;Flaps 3&emsp;
  812.                 <input type="checkbox" name="revs" value="fullrevs">&nbsp;Full reversers&emsp;&emsp;
  813.                 <b>Brakes:</b>&nbsp;
  814.                 <input type="radio" name="brakes" value="manual" checked>Manual&nbsp;
  815.                 <input type="radio" name="brakes" value="medium">Medium&nbsp;
  816.                 <input type="radio" name="brakes" value="low">Low&emsp;&emsp;
  817.                 <input type="text" name="lw" size="8">&nbsp;Landing Weight (Tonnes)
  818.             </p>
  819.             <p>
  820.                 <select name="runway_conds">
  821.                     <option value="dry">Dry</option>
  822.                     <option value="good">Good</option>
  823.                     <option value="good_medium">Good to Medium</option>
  824.                     <option value="medium">Medium</option>
  825.                     <option value="medium_poor">Medium to Poor</option>
  826.                     <option value="poor">Poor</option>
  827.                 </select>&nbsp;Runway conditions&emsp;
  828.                 <input type="text" name="wind_dir" size="8">&nbsp;Wind direction&emsp;
  829.                 <input type="text" name="wind_vel" size="8">&nbsp;Wind intensity kt&emsp;
  830.                 <input type="text" name="oat" size="8">&nbsp;OAT (C)
  831.             </p>
  832.             <p>
  833.                 <input type="Checkbox" name="autoland" value="auto">&nbsp;<b>Autoland</b>
  834.             </p></br><hr>
  835.             <h2><font color="indigo">Set Airport</font></h2>
  836.             <h3><font color="darkslateblue">Preselected Runway</font></h3>
  837.             <p>
  838.                 <input type="checkbox" name="preselected" value="preselect" onclick="disable_runway_boxes()">&nbsp;<b>Preselect airport runway from list:</b>&emsp;
  839.                 <select name="airport" disabled="true" onchange="select_runway()"<!--size="3" width="190" style="width: 100px"-->>
  840.                     <option value="Coca_16">SECO 16</option>
  841.                     <option value="Coca_34">SECO 34</option>
  842.                     <option value="Cuenca_05">SECU 05</option>
  843.                     <option value="Cuenca_23">SECU 23</option>
  844.                     <option value="Guayaquil_03">SEGU 03</option>
  845.                     <option value="Guayaquil_21">SEGU 21</option>
  846.                     <option value="Baltra_14">SEGS 14</option>
  847.                     <option value="Baltra_32">SEGS 32</option>
  848.                     <option value="Manta_06">SEMT 06</option>
  849.                     <option value="Manta_24">SEMT 24</option>
  850.                     <option value="Quito_18">SEQM 18</option>
  851.                     <option value="Quito_36">SEQM 36</option>
  852.                     <option value="San_Cristobal_17">SEST 17</option>
  853.                     <option value="San_Cristobal_35">SEST 35</option>
  854.                     <option value="Bogota_13L">SKBO 13L</option>
  855.                     <option value="Bogota_13R">SKBO 13R</option>
  856.                     <option value="Bogota_31L">SKBO 31L</option>
  857.                     <option value="Bogota_31R">SKBO 31R</option>
  858.                     <option value="Cali_01">SKCL 01</option>
  859.                     <option value="Cali_19">SKCL 19</option>
  860.                     <option value="Rio_Negro_18">SKRG 18</option>
  861.                     <option value="Rio_Negro_36">SKRG 36</option>
  862.                     <option value="Lima_15">SPIM 15</option>
  863.                     <option value="Lima_33">SPIM 33</option>
  864.                 </select>
  865.             </p>
  866.             <h3><font color="darkslateblue">Custom Airport</font></h3>
  867.             <p>
  868.                 <input type="text" id="elev_id" name="elev" size="8">&nbsp;Runway elevation (ft)&emsp;
  869.                 <input type="text" id="hdg_id" name="hdg" size="8">&nbsp;Runway heading&emsp;
  870.                 <input type="text" id="length_id" name="length" size="8">&nbsp;Runway length (m)&emsp;
  871.                 <input type="text" id="slope_id" name="slope" size="8">&nbsp;Slope (%)
  872.             </p></br><hr>
  873.         </form>
  874.     </div>
  875.     <div id="results">
  876.         <h2><font color="indigo">Results of Calculation</font></h2>
  877.         <p>
  878.         <input type="button" value="Calculate Distance" onclick="basic_runway_distance()"/>
  879.         </p>
  880.         <p>
  881.             <b>Required Landing Distance:</b>&nbsp;
  882.             <input type="text" id="result_box" readonly="true" size="12"/>&nbsp;Meters&emsp;
  883.             <input type="text" id="test_box" size="12"/>&nbsp; TESTBOX &emsp;
  884.             <input type="text" id="test_box_2" size="12"/>&nbsp; TESTBOX
  885.         </p>
  886.     </div>
  887.  
  888. </body>
  889.  
  890.  
  891. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement