]> git.mxchange.org Git - flightgear.git/blob - src/FDM/UIUCModel/uiuc_recorder.cpp
Robert Deters:
[flightgear.git] / src / FDM / UIUCModel / uiuc_recorder.cpp
1 /**********************************************************************
2  
3  FILENAME:     uiuc_recorder.cpp
4
5 ----------------------------------------------------------------------
6
7  DESCRIPTION:  outputs variables specified in input file to recorder 
8                file
9
10 ----------------------------------------------------------------------
11
12  STATUS:       alpha version
13
14 ----------------------------------------------------------------------
15
16  REFERENCES:   Liberty, Jesse.  "Sam's Teach Yourself C++ in 21 Days,"
17                3rd ed., 1999.
18
19 ----------------------------------------------------------------------
20
21  HISTORY:      01/31/2000   initial release
22                03/02/2000   (JS) added record options for 1D and 2D 
23                             interpolated variables
24                04/01/2000   (JS) added throttle, longitudinal, lateral, 
25                             and rudder inputs to record map
26                04/24/2000   (JS) added rest of variables in 
27                             ls_generic.h
28                07/06/2001   (RD) changed Flap handle output
29                07/20/2001   (RD) fixed Lat_control and Rudder_pedal
30                10/25/2001   (RD) Added new variables needed for the non-
31                             linear Twin Otter model at zero flaps
32                             (Cxfxxf0I)
33                11/12/2001   (RD) Added new variables needed for the non-
34                             linear Twin Otter model at zero flaps
35                             (CxfxxfI).  Removed zero flap variables.
36                             Added flap_pos and flap_cmd_deg.
37                02/13/2002   (RD) Added variables so linear aero model
38                             values can be recorded
39                03/03/2003   (RD) Added flap_cmd_record
40                03/16/2003   (RD) Added trigger record variables
41
42 ----------------------------------------------------------------------
43
44  AUTHOR(S):    Jeff Scott         http://www.jeffscott.net/
45                Robert Deters      <rdeters@uiuc.edu>
46                Michael Selig      <m-selig@uiuc.edu>
47 ----------------------------------------------------------------------
48
49  VARIABLES:
50
51 ----------------------------------------------------------------------
52
53  INPUTS:       n/a
54
55 ----------------------------------------------------------------------
56
57  OUTPUTS:      -variables recorded in uiuc_recorder.dat
58
59 ----------------------------------------------------------------------
60
61  CALLED BY:   uiuc_wrapper.cpp 
62
63 ----------------------------------------------------------------------
64
65  CALLS TO:     none
66
67 ----------------------------------------------------------------------
68
69  COPYRIGHT:    (C) 2000 by Michael Selig
70
71  This program is free software; you can redistribute it and/or
72  modify it under the terms of the GNU General Public License
73  as published by the Free Software Foundation.
74
75  This program is distributed in the hope that it will be useful,
76  but WITHOUT ANY WARRANTY; without even the implied warranty of
77  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
78  GNU General Public License for more details.
79
80  You should have received a copy of the GNU General Public License
81  along with this program; if not, write to the Free Software
82  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
83  USA or view http://www.gnu.org/copyleft/gpl.html.
84
85 **********************************************************************/
86
87 #include <simgear/compiler.h>
88 #include <simgear/misc/sg_path.hxx>
89 #include <Aircraft/aircraft.hxx>
90 #include <Main/fg_props.hxx>
91
92 #include "uiuc_recorder.h"
93
94 SG_USING_STD(endl);             // -dw
95
96 void uiuc_recorder( double dt )
97 {
98   stack command_list;
99   string linetoken;
100   static int init = 0;
101   static int recordStep = 0;
102   string record_variables = "# ";
103
104   int modulus = recordStep % recordRate;
105
106   if ((recordStep % recordRate) == 0)
107     {
108       command_list = recordParts->getCommands();
109       fout << endl;
110
111       LIST command_line;
112       for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
113         record_variables += recordParts->getToken(*command_line,2) + "  ";
114
115       fout << record_variables << endl; 
116       for (command_line = command_list.begin(); command_line!=command_list.end(); ++command_line)
117         {
118           linetoken = recordParts->getToken(*command_line, 2); 
119
120           switch(record_map[linetoken])
121             {
122               /************************* Time ************************/
123             case Simtime_record:
124               {
125                 fout << Simtime << " ";
126                 break;
127               }
128             case dt_record:
129               {
130                 fout << dt << " ";
131                 break;
132               }
133
134               /************************* Mass ************************/
135             case Weight_record:
136               {
137                 fout << Weight << " ";
138                 break;
139               }
140             case Mass_record:
141               {
142                 fout << Mass << " ";
143                 break;
144               }
145             case I_xx_record:
146               {
147                 fout << I_xx << " ";
148                 break;
149               }
150             case I_yy_record:
151               {
152                 fout << I_yy << " ";
153                 break;
154               }
155             case I_zz_record:
156               {
157                 fout << I_zz << " ";
158                 break;
159               }
160             case I_xz_record:
161               {
162                 fout << I_xz << " ";
163                 break;
164               }
165
166               /*********************** Geometry **********************/
167             case Dx_pilot_record:
168               {
169                 fout << Dx_pilot << " ";
170                 break;
171               }
172             case Dy_pilot_record:
173               {
174                 fout << Dy_pilot << " ";
175                 break;
176               }
177             case Dz_pilot_record:
178               {
179                 fout << Dz_pilot << " ";
180                 break;
181               }
182             case Dx_cg_record:
183               {
184                 fout << Dx_cg << " ";
185                 break;
186               }
187             case Dy_cg_record:
188               {
189                 fout << Dy_cg << " ";
190                 break;
191               }
192             case Dz_cg_record:
193               {
194                 fout << Dz_cg << " ";
195                 break;
196               }
197
198               /********************** Positions **********************/
199             case Lat_geocentric_record:
200               {
201                 fout << Lat_geocentric << " ";
202                 break;
203               }
204             case Lon_geocentric_record:
205               {
206                 fout << Lon_geocentric << " ";
207                 break;
208               }
209             case Radius_to_vehicle_record:
210               {
211                 fout << Radius_to_vehicle << " ";
212                 break;
213               }
214             case Latitude_record:
215               {
216                 fout << Latitude << " ";
217                 break;
218               }
219             case Longitude_record:
220               {
221                 fout << Longitude << " ";
222                 break;
223               }
224             case Altitude_record:
225               {
226                 fout << Altitude << " ";
227                 break;
228               }
229             case Phi_record:
230               {
231                 fout << Phi << " ";
232                 break;
233               }
234             case Theta_record:
235               {
236                 fout << Theta << " ";
237                 break;
238               }
239             case Psi_record:
240               {
241                 fout << Psi << " ";
242                 break;
243               }
244
245               /******************** Accelerations ********************/
246             case V_dot_north_record:
247               {
248                 fout << V_dot_north << " ";
249                 break;
250               }
251             case V_dot_east_record:
252               {
253                 fout << V_dot_east << " ";
254                 break;
255               }
256             case V_dot_down_record:
257               {
258                 fout << V_dot_down << " ";
259                 break;
260               }
261             case U_dot_body_record:
262               {
263                 fout << U_dot_body << " ";
264                 break;
265               }
266             case V_dot_body_record:
267               {
268                 fout << V_dot_body << " ";
269                 break;
270               }
271             case W_dot_body_record:
272               {
273                 fout << W_dot_body << " ";
274                 break;
275               }
276             case A_X_pilot_record:
277               {
278                 fout << A_X_pilot << " ";
279                 break;
280               }
281             case A_Y_pilot_record:
282               {
283                 fout << A_Y_pilot << " ";
284                 break;
285               }
286             case A_Z_pilot_record:
287               {
288                 fout << A_Z_pilot << " ";
289                 break;
290               }
291             case A_X_cg_record:
292               {
293                 fout << A_X_cg << " ";
294                 break;
295               }
296             case A_Y_cg_record:
297               {
298                 fout << A_Y_cg << " ";
299                 break;
300               }
301             case A_Z_cg_record:
302               {
303                 fout << A_Z_cg << " ";
304                 break;
305               }
306             case N_X_pilot_record:
307               {
308                 fout << N_X_pilot << " ";
309                 break;
310               }
311             case N_Y_pilot_record:
312               {
313                 fout << N_Y_pilot << " ";
314                 break;
315               }
316             case N_Z_pilot_record:
317               {
318                 fout << N_Z_pilot << " ";
319                 break;
320               }
321             case N_X_cg_record:
322               {
323                 fout << N_X_cg << " ";
324                 break;
325               }
326             case N_Y_cg_record:
327               {
328                 fout << N_Y_cg << " ";
329                 break;
330               }
331             case N_Z_cg_record:
332               {
333                 fout << N_Z_cg << " ";
334                 break;
335               }
336             case P_dot_body_record:
337               {
338                 fout << P_dot_body << " ";
339                 break;
340               }
341             case Q_dot_body_record:
342               {
343                 fout << Q_dot_body << " ";
344                 break;
345               }
346             case R_dot_body_record:
347               {
348                 fout << R_dot_body << " ";
349                 break;
350               }
351
352               /********************** Velocities *********************/
353             case V_north_record:
354               {
355                 fout << V_north << " ";
356                 break;
357               }
358             case V_east_record:
359               {
360                 fout << V_east << " ";
361                 break;
362               }
363             case V_down_record:
364               {
365                 fout << V_down << " ";
366                 break;
367               }
368             case V_north_rel_ground_record:
369               {
370                 fout << V_north_rel_ground << " ";
371                 break;
372               }
373             case V_east_rel_ground_record:
374               {
375                 fout << V_east_rel_ground << " ";
376                 break;
377               }
378             case V_down_rel_ground_record:
379               {
380                 fout << V_down_rel_ground << " ";
381                 break;
382               }
383             case V_north_airmass_record:
384               {
385                 fout << V_north_airmass << " ";
386                 break;
387               }
388             case V_east_airmass_record:
389               {
390                 fout << V_east_airmass << " ";
391                 break;
392               }
393             case V_down_airmass_record:
394               {
395                 fout << V_down_airmass << " ";
396                 break;
397               }
398             case V_north_rel_airmass_record:
399               {
400                 fout << V_north_rel_airmass << " ";
401                 break;
402               }
403             case V_east_rel_airmass_record:
404               {
405                 fout << V_east_rel_airmass << " ";
406                 break;
407               }
408             case V_down_rel_airmass_record:
409               {
410                 fout << V_down_rel_airmass << " ";
411                 break;
412               }
413             case U_gust_record:
414               {
415                 fout << U_gust << " ";
416                 break;
417               }
418             case V_gust_record:
419               {
420                 fout << V_gust << " ";
421                 break;
422               }
423             case W_gust_record:
424               {
425                 fout << W_gust << " ";
426                 break;
427               }
428             case U_body_record:
429               {
430                 fout << U_body << " ";
431                 break;
432               }
433             case V_body_record:
434               {
435                 fout << V_body << " ";
436                 break;
437               }
438             case W_body_record:
439               {
440                 fout << W_body << " ";
441                 break;
442               }
443             case V_rel_wind_record:
444               {
445                 fout << V_rel_wind << " ";
446                 break;
447               }
448             case V_true_kts_record:
449               {
450                 fout << V_true_kts << " ";
451                 break;
452               }
453             case V_rel_ground_record:
454               {
455                 fout << V_rel_ground << " ";
456                 break;
457               }
458             case V_inertial_record:
459               {
460                 fout << V_inertial << " ";
461                 break;
462               }
463             case V_ground_speed_record:
464               {
465                 fout << V_ground_speed << " ";
466                 break;
467               }
468             case V_equiv_record:
469               {
470                 fout << V_equiv << " ";
471                 break;
472               }
473             case V_equiv_kts_record:
474               {
475                 fout << V_equiv_kts << " ";
476                 break;
477               }
478             case V_calibrated_record:
479               {
480                 fout << V_calibrated << " ";
481                 break;
482               }
483             case V_calibrated_kts_record:
484               {
485                 fout << V_calibrated_kts << " ";
486                 break;
487               }
488             case P_local_record:
489               {
490                 fout << P_local << " ";
491                 break;
492               }
493             case Q_local_record:
494               {
495                 fout << Q_local << " ";
496                 break;
497               }
498             case R_local_record:
499               {
500                 fout << R_local << " ";
501                 break;
502               }
503             case P_body_record:
504               {
505                 fout << P_body << " ";
506                 break;
507               }
508             case Q_body_record:
509               {
510                 fout << Q_body << " ";
511                 break;
512               }
513             case R_body_record:
514               {
515                 fout << R_body << " ";
516                 break;
517               }
518             case P_total_record:
519               {
520                 fout << P_total << " ";
521                 break;
522               }
523             case Q_total_record:
524               {
525                 fout << Q_total << " ";
526                 break;
527               }
528             case R_total_record:
529               {
530                 fout << R_total << " ";
531                 break;
532               }
533             case Phi_dot_record:
534               {
535                 fout << Phi_dot << " ";
536                 break;
537               }
538             case Theta_dot_record:
539               {
540                 fout << Theta_dot << " ";
541                 break;
542               }
543             case Psi_dot_record:
544               {
545                 fout << Psi_dot << " ";
546                 break;
547               }
548             case Latitude_dot_record:
549               {
550                 fout << Latitude_dot << " ";
551                 break;
552               }
553             case Longitude_dot_record:
554               {
555                 fout << Longitude_dot << " ";
556                 break;
557               }
558             case Radius_dot_record:
559               {
560                 fout << Radius_dot << " ";
561                 break;
562               }
563
564               /************************ Angles ***********************/
565             case Alpha_record:
566               {
567                 fout << Alpha << " ";
568                 break;
569               }
570             case Alpha_deg_record:
571               {
572                 fout << Alpha * RAD_TO_DEG << " ";
573                 break;
574               }
575             case Alpha_dot_record:
576               {
577                 fout << Alpha_dot << " ";
578                 break;
579               }
580             case Alpha_dot_deg_record:
581               {
582                 fout << Alpha_dot * RAD_TO_DEG << " ";
583                 break;
584               }
585             case Beta_record:
586               {
587                 fout << Beta << " ";
588                 break;
589               }
590             case Beta_deg_record:
591               {
592                 fout << Beta * RAD_TO_DEG << " ";
593                 break;
594               }
595             case Beta_dot_record:
596               {
597                 fout << Beta_dot << " ";
598                 break;
599               }
600             case Beta_dot_deg_record:
601               {
602                 fout << Beta_dot * RAD_TO_DEG << " ";
603                 break;
604               }
605             case Gamma_vert_record:
606               {
607                 fout << Gamma_vert_rad << " ";
608                 break;
609               }
610             case Gamma_vert_deg_record:
611               {
612                 fout << Gamma_vert_rad * RAD_TO_DEG << " ";
613                 break;
614               }
615             case Gamma_horiz_record:
616               {
617                 fout << Gamma_horiz_rad << " ";
618                 break;
619               }
620             case Gamma_horiz_deg_record:
621               {
622                 fout << Gamma_horiz_rad * RAD_TO_DEG << " ";
623                 break;
624               }
625
626               /**************** Atmospheric Properties ***************/
627             case Density_record:
628               {
629                 fout << Density << " ";
630                 break;
631               }
632             case V_sound_record:
633               {
634                 fout << V_sound << " ";
635                 break;
636               }
637             case Mach_number_record:
638               {
639                 fout << Mach_number << " ";
640                 break;
641               }
642             case Static_pressure_record:
643               {
644                 fout << Static_pressure << " ";
645                 break;
646               }
647             case Total_pressure_record:
648               {
649                 fout << Total_pressure << " ";
650                 break;
651               }
652             case Impact_pressure_record:
653               {
654                 fout << Impact_pressure << " ";
655                 break;
656               }
657             case Dynamic_pressure_record:
658               {
659                 fout << Dynamic_pressure << " ";
660                 break;
661               }
662             case Static_temperature_record:
663               {
664                 fout << Static_temperature << " ";
665                 break;
666               }
667             case Total_temperature_record:
668               {
669                 fout << Total_temperature << " ";
670                 break;
671               }
672
673               /******************** Earth Properties *****************/
674             case Gravity_record:
675               {
676                 fout << Gravity << " ";
677                 break;
678               }
679             case Sea_level_radius_record:
680               {
681                 fout << Sea_level_radius << " ";
682                 break;
683               }
684             case Earth_position_angle_record:
685               {
686                 fout << Earth_position_angle << " ";
687                 break;
688               }
689             case Runway_altitude_record:
690               {
691                 fout << Runway_altitude << " ";
692                 break;
693               }
694             case Runway_latitude_record:
695               {
696                 fout << Runway_latitude << " ";
697                 break;
698               }
699             case Runway_longitude_record:
700               {
701                 fout << Runway_longitude << " ";
702                 break;
703               }
704             case Runway_heading_record:
705               {
706                 fout << Runway_heading << " ";
707                 break;
708               }
709             case Radius_to_rwy_record:
710               {
711                 fout << Radius_to_rwy << " ";
712                 break;
713               }
714             case D_pilot_north_of_rwy_record:
715               {
716                 fout << D_pilot_north_of_rwy << " ";
717                 break;
718               }
719             case D_pilot_east_of_rwy_record:
720               {
721                 fout << D_pilot_east_of_rwy << " ";
722                 break;
723               }
724             case D_pilot_above_rwy_record:
725               {
726                 fout << D_pilot_above_rwy << " ";
727                 break;
728               }
729             case X_pilot_rwy_record:
730               {
731                 fout << X_pilot_rwy << " ";
732                 break;
733               }
734             case Y_pilot_rwy_record:
735               {
736                 fout << Y_pilot_rwy << " ";
737                 break;
738               }
739             case H_pilot_rwy_record:
740               {
741                 fout << H_pilot_rwy << " ";
742                 break;
743               }
744             case D_cg_north_of_rwy_record:
745               {
746                 fout << D_cg_north_of_rwy << " ";
747                 break;
748               }
749             case D_cg_east_of_rwy_record:
750               {
751                 fout << D_cg_east_of_rwy << " ";
752                 break;
753               }
754             case D_cg_above_rwy_record:
755               {
756                 fout << D_cg_above_rwy << " ";
757                 break;
758               }
759             case X_cg_rwy_record:
760               {
761                 fout << X_cg_rwy << " ";
762                 break;
763               }
764             case Y_cg_rwy_record:
765               {
766                 fout << Y_cg_rwy << " ";
767                 break;
768               }
769             case H_cg_rwy_record:
770               {
771                 fout << H_cg_rwy << " ";
772                 break;
773               }
774
775               /********************* Engine Inputs *******************/
776             case Throttle_3_record:
777               {
778                 fout << Throttle[3] << " ";
779                 break;
780               }
781             case Throttle_pct_record:
782               {
783                 fout << Throttle_pct << " ";
784                 break;
785               }
786
787               /************************ Controls ***********************/
788             case Long_control_record:
789               {
790                 fout << Long_control << " ";
791                 break;
792               }
793             case Long_trim_record:
794               {
795                 fout << Long_trim << " ";
796                 break;
797               }
798             case Long_trim_deg_record:
799               {
800                 fout << Long_trim * RAD_TO_DEG << " ";
801                 break;
802               }
803             case elevator_record:
804               {
805                 fout << elevator << " ";
806                 break;
807               }
808             case elevator_deg_record:
809               {
810                 fout << elevator * RAD_TO_DEG << " ";
811                 break;
812               }
813             case Lat_control_record:
814               {
815                 fout << Lat_control << " ";
816                 break;
817               }
818             case aileron_record:
819               {
820                 fout << aileron << " ";
821                 break;
822               }
823             case aileron_deg_record:
824               {
825                 fout << aileron * RAD_TO_DEG << " ";
826                 break;
827               }
828             case Rudder_pedal_record:
829               {
830                 fout << Rudder_pedal << " ";
831                 break;
832               }
833             case rudder_record:
834               {
835                 fout << rudder << " ";
836                 break;
837               }
838             case rudder_deg_record:
839               {
840                 fout << rudder * RAD_TO_DEG << " ";
841                 break;
842               }
843             case Flap_handle_record:
844               {
845                 fout << Flap_handle << " ";
846                 break;
847               }
848             case flap_record:
849               {
850                 fout << flap << " ";
851                 break;
852               }
853             case flap_cmd_record:
854               {
855                 fout << flap_cmd << " ";
856                 break;
857               }
858             case flap_cmd_deg_record:
859               {
860                 fout << flap_cmd * RAD_TO_DEG << " ";
861                 break;
862               }
863             case flap_pos_record:
864               {
865                 fout << flap_pos << " ";
866                 break;
867               }
868             case flap_pos_deg_record:
869               {
870                 fout << flap_pos * RAD_TO_DEG << " ";
871                 break;
872               }
873             case Spoiler_handle_record:
874               {
875                 fout << Spoiler_handle << " ";
876                 break;
877               }
878             case spoiler_cmd_deg_record:
879               {
880                 fout << spoiler_cmd_deg << " ";
881                 break;
882               }
883             case spoiler_pos_deg_record:
884               {
885                 fout << spoiler_pos_deg << " ";
886                 break;
887               }
888             case spoiler_pos_norm_record:
889               {
890                 fout << spoiler_pos_norm << " ";
891                 break;
892               }
893             case spoiler_pos_record:
894               {
895                 fout << spoiler_pos << " ";
896                 break;
897               }
898
899               /****************** Aero Coefficients ******************/
900             case CD_record:
901               {
902                 fout << CD << " ";
903                 break;
904               }
905             case CDfaI_record:
906               {
907                 fout << CDfaI << " ";
908                 break;
909               }
910             case CDfCLI_record:
911               {
912                 fout << CDfCLI << " ";
913                 break;
914               }
915             case CDfadeI_record:
916               {
917                 fout << CDfadeI << " ";
918                 break;
919               }
920             case CDfdfI_record:
921               {
922                 fout << CDfdfI << " ";
923                 break;
924               }
925             case CDfadfI_record:
926               {
927                 fout << CDfadfI << " ";
928                 break;
929               }
930             case CX_record:
931               {
932                 fout << CX << " ";
933                 break;
934               }
935             case CXfabetafI_record:
936               {
937                 fout << CXfabetafI << " ";
938                 break;
939               }
940             case CXfadefI_record:
941               {
942                 fout << CXfadefI << " ";
943                 break;
944               }
945             case CXfaqfI_record:
946               {
947                 fout << CXfaqfI << " ";
948                 break;
949               }
950             case CDo_save_record:
951               {
952                 fout << CDo_save << " ";
953                 break;
954               }
955             case CDK_save_record:
956               {
957                 fout << CDK_save << " ";
958                 break;
959               }
960             case CLK_save_record:
961               {
962                 fout << CLK_save << " ";
963                 break;
964               }
965             case CD_a_save_record:
966               {
967                 fout << CD_a_save << " ";
968                 break;
969               }
970             case CD_adot_save_record:
971               {
972                 fout << CD_adot_save << " ";
973                 break;
974               }
975             case CD_q_save_record:
976               {
977                 fout << CD_q_save << " ";
978                 break;
979               }
980             case CD_ih_save_record:
981               {
982                 fout << CD_ih_save << " ";
983                 break;
984               }
985             case CD_de_save_record:
986               {
987                 fout << CD_de_save << " ";
988                 break;
989               }
990             case CD_dr_save_record:
991               {
992                 fout << CD_dr_save << " ";
993                 break;
994               }
995             case CD_da_save_record:
996               {
997                 fout << CD_da_save << " ";
998                 break;
999               }
1000             case CD_beta_save_record:
1001               {
1002                 fout << CD_beta_save << " ";
1003                 break;
1004               }
1005             case CD_df_save_record:
1006               {
1007                 fout << CD_df_save << " ";
1008                 break;
1009               }
1010             case CD_ds_save_record:
1011               {
1012                 fout << CD_ds_save << " ";
1013                 break;
1014               }
1015             case CD_dg_save_record:
1016               {
1017                 fout << CD_dg_save << " ";
1018                 break;
1019               }
1020             case CXo_save_record:
1021               {
1022                 fout << CXo_save << " ";
1023                 break;
1024               }
1025             case CXK_save_record:
1026               {
1027                 fout << CXK_save << " ";
1028                 break;
1029               }
1030             case CX_a_save_record:
1031               {
1032                 fout << CX_a_save << " ";
1033                 break;
1034               }
1035             case CX_a2_save_record:
1036               {
1037                 fout << CX_a2_save << " ";
1038                 break;
1039               }
1040             case CX_a3_save_record:
1041               {
1042                 fout << CX_a3_save << " ";
1043                 break;
1044               }
1045             case CX_adot_save_record:
1046               {
1047                 fout << CX_adot_save << " ";
1048                 break;
1049               }
1050             case CX_q_save_record:
1051               {
1052                 fout << CX_q_save << " ";
1053                 break;
1054               }
1055             case CX_de_save_record:
1056               {
1057                 fout << CX_de_save << " ";
1058                 break;
1059               }
1060             case CX_dr_save_record:
1061               {
1062                 fout << CX_dr_save << " ";
1063                 break;
1064               }
1065             case CX_df_save_record:
1066               {
1067                 fout << CX_df_save << " ";
1068                 break;
1069               }
1070             case CX_adf_save_record:
1071               {
1072                 fout << CX_adf_save << " ";
1073                 break;
1074               }
1075             case CL_record:
1076               {
1077                 fout << CL << " ";
1078                 break;
1079               }
1080             case CLfaI_record:
1081               {
1082                 fout << CLfaI << " ";
1083                 break;
1084               }
1085             case CLfadeI_record:
1086               {
1087                 fout << CLfadeI << " ";
1088                 break;
1089               }
1090             case CLfdfI_record:
1091               {
1092                 fout << CLfdfI << " ";
1093                 break;
1094               }
1095             case CLfadfI_record:
1096               {
1097                 fout << CLfadfI << " ";
1098                 break;
1099               }
1100             case CZ_record:
1101               {
1102                 fout << CZ << " ";
1103                 break;
1104               }
1105             case CZfaI_record:
1106               {
1107                 fout << CZfaI << " ";
1108                 break;
1109               }
1110             case CZfabetafI_record:
1111               {
1112                 fout << CZfabetafI << " ";
1113                 break;
1114               }
1115             case CZfadefI_record:
1116               {
1117                 fout << CZfadefI << " ";
1118                 break;
1119               }
1120             case CZfaqfI_record:
1121               {
1122                 fout << CZfaqfI << " ";
1123                 break;
1124               }
1125             case CLo_save_record:
1126               {
1127                 fout << CLo_save << " ";
1128                 break;
1129               }
1130             case CL_a_save_record:
1131               {
1132                 fout << CL_a_save << " ";
1133                 break;
1134               }
1135             case CL_adot_save_record:
1136               {
1137                 fout << CL_adot_save << " ";
1138                 break;
1139               }
1140             case CL_q_save_record:
1141               {
1142                 fout << CL_q_save << " ";
1143                 break;
1144               }
1145             case CL_ih_save_record:
1146               {
1147                 fout << CL_ih_save << " ";
1148                 break;
1149               }
1150             case CL_de_save_record:
1151               {
1152                 fout << CL_de_save << " ";
1153                 break;
1154               }
1155             case CL_df_save_record:
1156               {
1157                 fout << CL_df_save << " ";
1158                 break;
1159               }
1160             case CL_ds_save_record:
1161               {
1162                 fout << CL_ds_save << " ";
1163                 break;
1164               }
1165             case CL_dg_save_record:
1166               {
1167                 fout << CL_dg_save << " ";
1168                 break;
1169               }
1170             case CZo_save_record:
1171               {
1172                 fout << CZo_save << " ";
1173                 break;
1174               }
1175             case CZ_a_save_record:
1176               {
1177                 fout << CZ_a_save << " ";
1178                 break;
1179               }
1180             case CZ_a2_save_record:
1181               {
1182                 fout << CZ_a2_save << " ";
1183                 break;
1184               }
1185             case CZ_a3_save_record:
1186               {
1187                 fout << CZ_a3_save << " ";
1188                 break;
1189               }
1190             case CZ_adot_save_record:
1191               {
1192                 fout << CZ_adot_save << " ";
1193                 break;
1194               }
1195             case CZ_q_save_record:
1196               {
1197                 fout << CZ_q_save << " ";
1198                 break;
1199               }
1200             case CZ_de_save_record:
1201               {
1202                 fout << CZ_de_save << " ";
1203                 break;
1204               }
1205             case CZ_deb2_save_record:
1206               {
1207                 fout << CZ_deb2_save << " ";
1208                 break;
1209               }
1210             case CZ_df_save_record:
1211               {
1212                 fout << CZ_df_save << " ";
1213                 break;
1214               }
1215             case CZ_adf_save_record:
1216               {
1217                 fout << CZ_adf_save << " ";
1218                 break;
1219               }
1220             case Cm_record:
1221               {
1222                 fout << Cm << " ";
1223                 break;
1224               }
1225             case CmfaI_record:
1226               {
1227                 fout << CmfaI << " ";
1228                 break;
1229               }
1230             case CmfadeI_record:
1231               {
1232                 fout << CmfadeI << " ";
1233                 break;
1234               }
1235             case CmfdfI_record:
1236               {
1237                 fout << CmfdfI << " ";
1238                 break;
1239               }
1240             case CmfadfI_record:
1241               {
1242                 fout << CmfadfI << " ";
1243                 break;
1244               }
1245             case CmfabetafI_record:
1246               {
1247                 fout << CmfabetafI << " ";
1248                 break;
1249               }
1250             case CmfadefI_record:
1251               {
1252                 fout << CmfadefI << " ";
1253                 break;
1254               }
1255             case CmfaqfI_record:
1256               {
1257                 fout << CmfaqfI << " ";
1258                 break;
1259               }
1260             case Cmo_save_record:
1261               {
1262                 fout << Cmo_save << " ";
1263                 break;
1264               }
1265             case Cm_a_save_record:
1266               {
1267                 fout << Cm_a_save << " ";
1268                 break;
1269               }
1270             case Cm_a2_save_record:
1271               {
1272                 fout << Cm_a2_save << " ";
1273                 break;
1274               }
1275             case Cm_adot_save_record:
1276               {
1277                 fout << Cm_adot_save << " ";
1278                 break;
1279               }
1280             case Cm_q_save_record:
1281               {
1282                 fout << Cm_q_save << " ";
1283                 break;
1284               }
1285             case Cm_ih_save_record:
1286               {
1287                 fout << Cm_ih_save << " ";
1288                 break;
1289               }
1290             case Cm_de_save_record:
1291               {
1292                 fout << Cm_de_save << " ";
1293                 break;
1294               }
1295             case Cm_b2_save_record:
1296               {
1297                 fout << Cm_b2_save << " ";
1298                 break;
1299               }
1300             case Cm_r_save_record:
1301               {
1302                 fout << Cm_r_save << " ";
1303                 break;
1304               }
1305             case Cm_df_save_record:
1306               {
1307                 fout << Cm_df_save << " ";
1308                 break;
1309               }
1310             case Cm_ds_save_record:
1311               {
1312                 fout << Cm_ds_save << " ";
1313                 break;
1314               }
1315             case Cm_dg_save_record:
1316               {
1317                 fout << Cm_dg_save << " ";
1318                 break;
1319               }
1320             case CY_record:
1321               {
1322                 fout << CY  << " ";
1323                 break;
1324               }
1325             case CYfadaI_record:
1326               {
1327                 fout << CYfadaI << " ";
1328                 break;
1329               }
1330             case CYfbetadrI_record:
1331               {
1332                 fout << CYfbetadrI << " ";
1333                 break;
1334               }
1335             case CYfabetafI_record:
1336               {
1337                 fout << CYfabetafI << " ";
1338                 break;
1339               }
1340             case CYfadafI_record:
1341               {
1342                 fout << CYfadafI << " ";
1343                 break;
1344               }
1345             case CYfadrfI_record:
1346               {
1347                 fout << CYfadrfI << " ";
1348                 break;
1349               }
1350             case CYfapfI_record:
1351               {
1352                 fout << CYfapfI << " ";
1353                 break;
1354               }
1355             case CYfarfI_record:
1356               {
1357                 fout << CYfarfI << " ";
1358                 break;
1359               }
1360             case CYo_save_record:
1361               {
1362                 fout << CYo_save << " ";
1363                 break;
1364               }
1365             case CY_beta_save_record:
1366               {
1367                 fout << CY_beta_save << " ";
1368                 break;
1369               }
1370             case CY_p_save_record:
1371               {
1372                 fout << CY_p_save << " ";
1373                 break;
1374               }
1375             case CY_r_save_record:
1376               {
1377                 fout << CY_r_save << " ";
1378                 break;
1379               }
1380             case CY_da_save_record:
1381               {
1382                 fout << CY_da_save << " ";
1383                 break;
1384               }
1385             case CY_dr_save_record:
1386               {
1387                 fout << CY_dr_save << " ";
1388                 break;
1389               }
1390             case CY_dra_save_record:
1391               {
1392                 fout << CY_dra_save << " ";
1393                 break;
1394               }
1395             case CY_bdot_save_record:
1396               {
1397                 fout << CY_bdot_save << " ";
1398                 break;
1399               }
1400             case Cl_record:
1401               {
1402                 fout << Cl << " ";
1403                 break;
1404               }
1405             case ClfadaI_record:
1406               {
1407                 fout << ClfadaI << " ";
1408                 break;
1409               }
1410             case ClfbetadrI_record:
1411               {
1412                 fout << ClfbetadrI << " ";
1413                 break;
1414               }
1415             case ClfabetafI_record:
1416               {
1417                 fout << ClfabetafI << " ";
1418                 break;
1419               }
1420             case ClfadafI_record:
1421               {
1422                 fout << ClfadafI << " ";
1423                 break;
1424               }
1425             case ClfadrfI_record:
1426               {
1427                 fout << ClfadrfI << " ";
1428                 break;
1429               }
1430             case ClfapfI_record:
1431               {
1432                 fout << ClfapfI << " ";
1433                 break;
1434               }
1435             case ClfarfI_record:
1436               {
1437                 fout << ClfarfI << " ";
1438                 break;
1439               }
1440             case Clo_save_record:
1441               {
1442                 fout << Clo_save << " ";
1443                 break;
1444               }
1445             case Cl_beta_save_record:
1446               {
1447                 fout << Cl_beta_save << " ";
1448                 break;
1449               }
1450             case Cl_p_save_record:
1451               {
1452                 fout << Cl_p_save << " ";
1453                 break;
1454               }
1455             case Cl_r_save_record:
1456               {
1457                 fout << Cl_r_save << " ";
1458                 break;
1459               }
1460             case Cl_da_save_record:
1461               {
1462                 fout << Cl_da_save << " ";
1463                 break;
1464               }
1465             case Cl_dr_save_record:
1466               {
1467                 fout << Cl_dr_save << " ";
1468                 break;
1469               }
1470             case Cl_daa_save_record:
1471               {
1472                 fout << Cl_daa_save << " ";
1473                 break;
1474               }
1475             case Cn_record:
1476               {
1477                 fout << Cn << " ";
1478                 break;
1479               }
1480             case CnfadaI_record:
1481               {
1482                 fout << CnfadaI << " ";
1483                 break;
1484               }
1485             case CnfbetadrI_record:
1486               {
1487                 fout << CnfbetadrI << " ";
1488                 break;
1489               }
1490             case CnfabetafI_record:
1491               {
1492                 fout << CnfabetafI << " ";
1493                 break;
1494               }
1495             case CnfadafI_record:
1496               {
1497                 fout << CnfadafI << " ";
1498                 break;
1499               }
1500             case CnfadrfI_record:
1501               {
1502                 fout << CnfadrfI << " ";
1503                 break;
1504               }
1505             case CnfapfI_record:
1506               {
1507                 fout << CnfapfI << " ";
1508                 break;
1509               }
1510             case CnfarfI_record:
1511               {
1512                 fout << CnfarfI << " ";
1513                 break;
1514               }
1515             case Cno_save_record:
1516               {
1517                 fout << Cno_save << " ";
1518                 break;
1519               }
1520             case Cn_beta_save_record:
1521               {
1522                 fout << Cn_beta_save << " ";
1523                 break;
1524               }
1525             case Cn_p_save_record:
1526               {
1527                 fout << Cn_p_save << " ";
1528                 break;
1529               }
1530             case Cn_r_save_record:
1531               {
1532                 fout << Cn_r_save << " ";
1533                 break;
1534               }
1535             case Cn_da_save_record:
1536               {
1537                 fout << Cn_da_save << " ";
1538                 break;
1539               }
1540             case Cn_dr_save_record:
1541               {
1542                 fout << Cn_dr_save << " ";
1543                 break;
1544               }
1545             case Cn_q_save_record:
1546               {
1547                 fout << Cn_q_save << " ";
1548                 break;
1549               }
1550             case Cn_b3_save_record:
1551               {
1552                 fout << Cn_b3_save << " ";
1553                 break;
1554               }
1555
1556               /******************** Ice Detection ********************/
1557             case CL_clean_record:
1558               {
1559                 fout << CL_clean << " ";
1560                 break;
1561               }
1562             case CL_iced_record:
1563               {
1564                 fout << CL_iced << " ";
1565                 break;
1566               }
1567             case CD_clean_record:
1568               {
1569                 fout << CD_clean << " ";
1570                 break;
1571               }
1572             case CD_iced_record:
1573               {
1574                 fout << CD_iced << " ";
1575                 break;
1576               }
1577             case Cm_clean_record:
1578               {
1579                 fout << Cm_clean << " ";
1580                 break;
1581               }
1582             case Cm_iced_record:
1583               {
1584                 fout << Cm_iced << " ";
1585                 break;
1586               }
1587             case Ch_clean_record:
1588               {
1589                 fout << Ch_clean << " ";
1590                 break;
1591               }
1592             case Ch_iced_record:
1593               {
1594                 fout << Ch_iced << " ";
1595                 break;
1596               }
1597             case Cl_clean_record:
1598               {
1599                 fout << Cl_clean << " ";
1600                 break;
1601               }
1602             case Cl_iced_record:
1603               {
1604                 fout << Cl_iced << " ";
1605                 break;
1606               }
1607             case CLclean_wing_record:
1608               {
1609                 fout << CLclean_wing << " ";
1610                 break;
1611               }
1612             case CLiced_wing_record:
1613               {
1614                 fout << CLiced_wing << " ";
1615                 break;
1616               }
1617             case CLclean_tail_record:
1618               {
1619                 fout << CLclean_tail << " ";
1620                 break;
1621               }
1622             case CLiced_tail_record:
1623               {
1624                 fout << CLiced_tail << " ";
1625                 break;
1626               }
1627             case Lift_clean_wing_record:
1628               {
1629                 fout << Lift_clean_wing << " ";
1630                 break;
1631               }
1632             case Lift_iced_wing_record:
1633               {
1634                 fout << Lift_iced_wing << " ";
1635                 break;
1636               }
1637             case Lift_clean_tail_record:
1638               {
1639                 fout << Lift_clean_tail << " ";
1640                 break;
1641               }
1642             case Lift_iced_tail_record:
1643               {
1644                 fout << Lift_iced_tail << " ";
1645                 break;
1646               }
1647             case Gamma_clean_wing_record:
1648               {
1649                 fout << Gamma_clean_wing << " ";
1650                 break;
1651               }
1652             case Gamma_iced_wing_record:
1653               {
1654                 fout << Gamma_iced_wing << " ";
1655                 break;
1656               }
1657             case Gamma_clean_tail_record:
1658               {
1659                 fout << Gamma_clean_tail << " ";
1660                 break;
1661               }
1662             case Gamma_iced_tail_record:
1663               {
1664                 fout << Gamma_iced_tail << " ";
1665                 break;
1666               }
1667             case w_clean_wing_record:
1668               {
1669                 fout << w_clean_wing << " ";
1670                 break;
1671               }
1672             case w_iced_wing_record:
1673               {
1674                 fout << w_iced_wing << " ";
1675                 break;
1676               }
1677             case w_clean_tail_record:
1678               {
1679                 fout << w_clean_tail << " ";
1680                 break;
1681               }
1682             case w_iced_tail_record:
1683               {
1684                 fout << w_iced_tail << " ";
1685                 break;
1686               }
1687             case V_total_clean_wing_record:
1688               {
1689                 fout << V_total_clean_wing << " ";
1690                 break;
1691               }
1692             case V_total_iced_wing_record:
1693               {
1694                 fout << V_total_iced_wing << " ";
1695                 break;
1696               }
1697             case V_total_clean_tail_record:
1698               {
1699                 fout << V_total_clean_tail << " ";
1700                 break;
1701               }
1702             case V_total_iced_tail_record:
1703               {
1704                 fout << V_total_iced_tail << " ";
1705                 break;
1706               }
1707             case beta_flow_clean_wing_record:
1708               {
1709                 fout << beta_flow_clean_wing << " ";
1710                 break;
1711               }
1712             case beta_flow_clean_wing_deg_record:
1713               {
1714                 fout << beta_flow_clean_wing * RAD_TO_DEG << " ";
1715                 break;
1716               }
1717             case beta_flow_iced_wing_record:
1718               {
1719                 fout << beta_flow_iced_wing << " ";
1720                 break;
1721               }
1722             case beta_flow_iced_wing_deg_record:
1723               {
1724                 fout << beta_flow_iced_wing * RAD_TO_DEG << " ";
1725                 break;
1726               }
1727             case beta_flow_clean_tail_record:
1728               {
1729                 fout << beta_flow_clean_tail << " ";
1730                 break;
1731               }
1732             case beta_flow_clean_tail_deg_record:
1733               {
1734                 fout << beta_flow_clean_tail * RAD_TO_DEG << " ";
1735                 break;
1736               }
1737             case beta_flow_iced_tail_record:
1738               {
1739                 fout << beta_flow_iced_tail << " ";
1740                 break;
1741               }
1742             case beta_flow_iced_tail_deg_record:
1743               {
1744                 fout << beta_flow_iced_tail * RAD_TO_DEG << " ";
1745                 break;
1746               }
1747             case Dbeta_flow_wing_record:
1748               {
1749                 fout << Dbeta_flow_wing << " ";
1750                 break;
1751               }
1752             case Dbeta_flow_wing_deg_record:
1753               {
1754                 fout << Dbeta_flow_wing * RAD_TO_DEG << " ";
1755                 break;
1756               }
1757             case Dbeta_flow_tail_record:
1758               {
1759                 fout << Dbeta_flow_tail << " ";
1760                 break;
1761               }
1762             case Dbeta_flow_tail_deg_record:
1763               {
1764                 fout << Dbeta_flow_tail * RAD_TO_DEG << " ";
1765                 break;
1766               }
1767             case pct_beta_flow_wing_record:
1768               {
1769                 fout << pct_beta_flow_wing << " ";
1770                 break;
1771               }
1772             case pct_beta_flow_tail_record:
1773               {
1774                 fout << pct_beta_flow_tail << " ";
1775                 break;
1776               }
1777             case eta_ice_record:
1778               {
1779                 fout << eta_ice << " ";
1780                 break;
1781               }
1782             case eta_wing_left_record:
1783               {
1784                 fout << eta_wing_left << " ";
1785                 break;
1786               }
1787             case eta_wing_right_record:
1788               {
1789                 fout << eta_wing_right << " ";
1790                 break;
1791               }
1792             case eta_tail_record:
1793               {
1794                 fout << eta_tail << " ";
1795                 break;
1796               }
1797             case delta_CL_record:
1798               {
1799                 fout << delta_CL << " ";
1800                 break;
1801               }
1802             case delta_CD_record:
1803               {
1804                 fout << delta_CD << " ";
1805                 break;
1806               }
1807             case delta_Cm_record:
1808               {
1809                 fout << delta_Cm << " ";
1810                 break;
1811               }
1812             case delta_Cl_record:
1813               {
1814                 fout << delta_Cl << " ";
1815                 break;
1816               }
1817             case delta_Cn_record:
1818               {
1819                 fout << delta_Cn << " ";
1820                 break;
1821               }
1822             case boot_cycle_tail_record:
1823               {
1824                 fout << boot_cycle_tail << " ";
1825                 break;
1826               }
1827             case boot_cycle_wing_left_record:
1828               {
1829                 fout << boot_cycle_wing_left << " ";
1830                 break;
1831               }
1832             case boot_cycle_wing_right_record:
1833               {
1834                 fout << boot_cycle_wing_right << " ";
1835                 break;
1836               }
1837             case autoIPS_tail_record:
1838               {
1839                 fout << autoIPS_tail << " ";
1840                 break;
1841               }
1842             case autoIPS_wing_left_record:
1843               {
1844                 fout << autoIPS_wing_left << " ";
1845                 break;
1846               }
1847             case autoIPS_wing_right_record:
1848               {
1849                 fout << autoIPS_wing_right << " ";
1850                 break;
1851               }
1852             case eps_pitch_input_record:
1853               {
1854                 fout << eps_pitch_input << " ";
1855                 break;
1856               }
1857             case eps_alpha_max_record:
1858               {
1859                 fout << eps_alpha_max << " ";
1860                 break;
1861               }
1862             case eps_pitch_max_record:
1863               {
1864                 fout << eps_pitch_max << " ";
1865                 break;
1866               }
1867             case eps_pitch_min_record:
1868               {
1869                 fout << eps_pitch_min << " ";
1870                 break;
1871               }
1872             case eps_roll_max_record:
1873               {
1874                 fout << eps_roll_max << " ";
1875                 break;
1876               }
1877             case eps_thrust_min_record:
1878               {
1879                 fout << eps_thrust_min << " ";
1880                 break;
1881               }
1882             case eps_flap_max_record:
1883               {
1884                 fout << eps_flap_max << " ";
1885                 break;
1886               }
1887             case eps_airspeed_max_record:
1888               {
1889                 fout << eps_airspeed_max << " ";
1890                 break;
1891               }
1892             case eps_airspeed_min_record:
1893               {
1894                 fout << eps_airspeed_min << " ";
1895                 break;
1896               }
1897             case tactilefadefI_record:
1898               {
1899                 fout << tactilefadefI << " ";
1900                 break;
1901               }
1902
1903               /*******************Autopilot***************************/
1904             case ap_Theta_ref_deg_record:
1905               {
1906                 fout << ap_Theta_ref_deg << " ";
1907                 break;
1908               }
1909             case ap_pah_on_record:
1910               {
1911                 fout << ap_pah_on << " ";
1912                 break;
1913               }
1914
1915               /************************ Forces ***********************/
1916             case F_X_wind_record:
1917               {
1918                 fout << F_X_wind << " ";
1919                 break;
1920               }
1921             case F_Y_wind_record:
1922               {
1923                 fout << F_Y_wind << " ";
1924                 break;
1925               }
1926             case F_Z_wind_record:
1927               {
1928                 fout << F_Z_wind << " ";
1929                 break;
1930               }
1931             case F_X_aero_record:
1932               {
1933                 fout << F_X_aero << " ";
1934                 break;
1935               }
1936             case F_Y_aero_record:
1937               {
1938                 fout << F_Y_aero << " ";
1939                 break;
1940               }
1941             case F_Z_aero_record:
1942               {
1943                 fout << F_Z_aero << " ";
1944                 break;
1945               }
1946             case F_X_engine_record:
1947               {
1948                 fout << F_X_engine << " ";
1949                 break;
1950               }
1951             case F_Y_engine_record:
1952               {
1953                 fout << F_Y_engine << " ";
1954                 break;
1955               }
1956             case F_Z_engine_record:
1957               {
1958                 fout << F_Z_engine << " ";
1959                 break;
1960               }
1961             case F_X_gear_record:
1962               {
1963                 fout << F_X_gear << " ";
1964                 break;
1965               }
1966             case F_Y_gear_record:
1967               {
1968                 fout << F_Y_gear << " ";
1969                 break;
1970               }
1971             case F_Z_gear_record:
1972               {
1973                 fout << F_Z_gear << " ";
1974                 break;
1975               }
1976             case F_X_record:
1977               {
1978                 fout << F_X << " ";
1979                 break;
1980               }
1981             case F_Y_record:
1982               {
1983                 fout << F_Y << " ";
1984                 break;
1985               }
1986             case F_Z_record:
1987               {
1988                 fout << F_Z << " ";
1989                 break;
1990               }
1991             case F_north_record:
1992               {
1993                 fout << F_north << " ";
1994                 break;
1995               }
1996             case F_east_record:
1997               {
1998                 fout << F_east << " ";
1999                 break;
2000               }
2001             case F_down_record:
2002               {
2003                 fout << F_down << " ";
2004                 break;
2005               }
2006
2007               /*********************** Moments ***********************/
2008             case M_l_aero_record:
2009               {
2010                 fout << M_l_aero << " ";
2011                 break;
2012               }
2013             case M_m_aero_record:
2014               {
2015                 fout << M_m_aero << " ";
2016                 break;
2017               }
2018             case M_n_aero_record:
2019               {
2020                 fout << M_n_aero << " ";
2021                 break;
2022               }
2023             case M_l_engine_record:
2024               {
2025                 fout << M_l_engine << " ";
2026                 break;
2027               }
2028             case M_m_engine_record:
2029               {
2030                 fout << M_m_engine << " ";
2031                 break;
2032               }
2033             case M_n_engine_record:
2034               {
2035                 fout << M_n_engine << " ";
2036                 break;
2037               }
2038             case M_l_gear_record:
2039               {
2040                 fout << M_l_gear << " ";
2041                 break;
2042               }
2043             case M_m_gear_record:
2044               {
2045                 fout << M_m_gear << " ";
2046                 break;
2047               }
2048             case M_n_gear_record:
2049               {
2050                 fout << M_n_gear << " ";
2051                 break;
2052               }
2053             case M_l_rp_record:
2054               {
2055                 fout << M_l_rp << " ";
2056                 break;
2057               }
2058             case M_m_rp_record:
2059               {
2060                 fout << M_m_rp << " ";
2061                 break;
2062               }
2063             case M_n_rp_record:
2064               {
2065                 fout << M_n_rp << " ";
2066                 break;
2067               }
2068
2069               /********************* flapper variables *********************/
2070             case flapper_freq_record:
2071               {
2072                 fout << flapper_freq << " ";
2073                 break;
2074               }
2075             case flapper_phi_record:
2076               {
2077                 fout << flapper_phi << " ";
2078                 break;
2079               }
2080             case flapper_phi_deg_record:
2081               {
2082                 fout << flapper_phi*RAD_TO_DEG << " ";
2083                 break;
2084               }
2085             case flapper_Lift_record:
2086               {
2087                 fout << flapper_Lift << " ";
2088                 break;
2089               }
2090             case flapper_Thrust_record:
2091               {
2092                 fout << flapper_Thrust << " ";
2093                 break;
2094               }
2095             case flapper_Inertia_record:
2096               {
2097                 fout << flapper_Inertia << " ";
2098                 break;
2099               }
2100             case flapper_Moment_record:
2101               {
2102                 fout << flapper_Moment << " ";
2103                 break;
2104               }
2105               /********* MSS debug and other data *******************/
2106               /* debug variables for use in probing data            */
2107               /* comment out old lines, and add new                 */
2108               /* only remove code that you have written             */
2109             case debug1_record:
2110               {
2111                 // eta_q term check
2112                 // fout << eta_q_Cm_q_fac << " ";
2113                 // fout << eta_q_Cm_adot_fac << " ";
2114                 // fout << eta_q_Cmfade_fac << " ";
2115                 // fout << eta_q_Cl_dr_fac << " ";
2116                 // fout << eta_q_Cm_de_fac << " ";
2117                 // eta on tail
2118                 // fout << eta_q  << " ";
2119                 // engine RPM
2120                 // fout << engineOmega * 60 / (2 * LS_PI)<< " ";
2121                 // vertical climb rate in fpm
2122                 fout << V_down * 60 << " ";
2123                 // vertical climb rate in fps
2124                 // fout << V_down << " ";
2125                 // w_induced downwash at tail due to wing
2126                 // fout << gammaWing   << " ";
2127                 //fout << outside_control << " ";
2128                 break;
2129               }
2130             case debug2_record:
2131               {
2132                 // Lift to drag ratio 
2133                 // fout <<  V_ground_speed/V_down_rel_ground << " ";
2134                 // g's through the c.g. of the aircraft
2135                 fout << (-A_Z_cg/32.174) << " ";
2136                 // L/D via forces (used in 201 class for L/D)
2137                 // fout << (F_Z_wind/F_X_wind) << " ";
2138                 // gyroscopic moment (see uiuc_wrapper.cpp)
2139                 // fout << (polarInertia * engineOmega * Q_body) << " ";
2140                 // downwashAngle at tail
2141                 // fout << downwashAngle * 57.29 << " ";
2142                 // w_induced from engine
2143                 // fout << w_induced << " ";
2144                 break;
2145               }
2146             case debug3_record:
2147               {
2148                 // die off function for eta_q
2149                 // fout << (Cos_alpha * Cos_alpha)       << " ";
2150                 // gyroscopic moment (see uiuc_wrapper.cpp)
2151                 // fout << (-polarInertia * engineOmega * R_body) << " ";
2152                 // eta on tail
2153                 // fout << eta_q << " ";
2154                 // flapper cycle percentage
2155                 fout << (sin(flapper_phi - 3 * LS_PI / 2)) << " ";
2156                 break;
2157               }
2158               /********* RD debug and other data *******************/
2159               /* debug variables for use in probing data            */
2160               /* comment out old lines, and add new                 */
2161               /* only remove code that you have written             */
2162             case debug4_record:
2163               {
2164                 // flapper F_X_aero_flapper
2165                 fout << F_X_aero_flapper << " ";
2166                 break;
2167               }
2168             case debug5_record:
2169               {
2170                 // flapper F_Z_aero_flapper
2171                 //fout << F_Z_aero_flapper << " ";
2172                 // gear_rate
2173                 fout << gear_rate << " ";
2174                 break;
2175               }
2176             case debug6_record:
2177               {
2178                 //gear_max
2179                 fout << gear_max << " ";
2180                 break;
2181               }
2182             case V_down_fpm_record:
2183               {
2184                 fout << V_down * 60 << " ";
2185                 break;
2186               }
2187             case eta_q_record:
2188               {
2189                 fout << eta_q << " ";
2190                 break;
2191               }
2192             case rpm_record:
2193               {
2194                 fout << (engineOmega * 60 / (2 * LS_PI)) << " ";
2195                 break;
2196               }
2197             case elevator_sas_deg_record:
2198               {
2199                 fout << elevator_sas * RAD_TO_DEG << " ";
2200                 break;
2201               }
2202             case aileron_sas_deg_record:
2203               {
2204                 fout << aileron_sas * RAD_TO_DEG << " ";
2205                 break;
2206               }
2207             case rudder_sas_deg_record:
2208               {
2209                 fout << rudder_sas * RAD_TO_DEG << " ";
2210                 break;
2211               }
2212             case w_induced_record:
2213               {
2214                 fout << w_induced << " ";
2215                 break;
2216               }
2217             case downwashAngle_deg_record:
2218               {
2219                 fout << downwashAngle * RAD_TO_DEG << " ";
2220                 break;
2221               }
2222             case alphaTail_deg_record:
2223               {
2224                 fout << alphaTail * RAD_TO_DEG << " ";
2225                 break;
2226               }
2227             case gammaWing_record:
2228               {
2229                 fout << gammaWing << " ";
2230                 break;
2231               }
2232             case LD_record:
2233               {
2234                 fout << V_ground_speed/V_down_rel_ground  << " ";
2235                 break;
2236               }
2237             case gload_record:
2238               {
2239                 fout << -A_Z_cg/32.174 << " ";
2240                 break;
2241               }
2242             case gyroMomentQ_record:
2243               {
2244                 fout << polarInertia * engineOmega * Q_body << " ";
2245                 break;
2246               }
2247             case gyroMomentR_record:
2248               {
2249                 fout << -polarInertia * engineOmega * R_body << " ";
2250                 break;
2251               }
2252             case Gear_handle_record:
2253               {
2254                 fout << Gear_handle << " ";
2255                 break;
2256               }
2257             case gear_cmd_norm_record:
2258               {
2259                 fout << gear_cmd_norm << " ";
2260                 break;
2261               }
2262             case gear_pos_norm_record:
2263               {
2264                 fout << gear_pos_norm << " ";
2265                 break;
2266               }
2267               /****************Trigger Variables*******************/
2268             case trigger_on_record:
2269               {
2270                 fout << trigger_on << " ";
2271                 break;
2272               }
2273             case trigger_num_record:
2274               {
2275                 fout << trigger_num << " ";
2276                 break;
2277               }
2278             case trigger_toggle_record:
2279               {
2280                 fout << trigger_toggle << " ";
2281                 break;
2282               }
2283             case trigger_counter_record:
2284               {
2285                 fout << trigger_counter << " ";
2286                 break;
2287               }
2288             };
2289         } // end record map
2290     }
2291   recordStep++;
2292 }
2293
2294 // end uiuc_recorder.cpp