Multi Constellation GNSS Based TEC Calibration
Total Page:16
File Type:pdf, Size:1020Kb
Master in High Performance Computing Multi Constellation GNSS based TEC Calibration Supervisor(s): Luigi Ciraolo supervisor, Katy Alazo supervisor, Ivan Girotto supervisor Candidate: Muhammad Owais Arain 2nd edition 2015{2016 TABLE OF CONTENTS INTRODUCTION....................................................................................VI ACKNOWLEDGMENTS......................................................................VII LIST OF TABLES.................................................................................VIII LIST OF FIGURES..................................................................................IX CHAPTER 1: CALIBRATION ALGORITHM......................................1 1.1 TEC.................................................................................................1 1.2 The Thin Shell Model.....................................................................1 1.3 The Current Version.......................................................................2 1.4 Multi Constellation Solution..........................................................2 1.5 Calibration Parameters...................................................................2 1.6 Non Calibrated TEC from GNSS Observables..............................3 1.7 Calculation of the Geometry..........................................................4 1.8 Preprocessing..................................................................................4 1.9 Definition of vTEC model..............................................................4 1.10 Calibration......................................................................................4 1.10.1 Solution for β ......................................................................5 1.10.2 vTECeq Solution......................................................................6 1.11 Matrix Dimensions.........................................................................6 CHAPTER 2: IMPLEMENTATION.......................................................8 2.1 Input-Output File Formats..............................................................8 2.2 Internal Data Structure...................................................................9 2.3 Timing Systems............................................................................11 2.3.1 UT.............................................................................................10 2.3.2 TAI............................................................................................10 2.3.3 UTC..........................................................................................10 2.3.4 GPST........................................................................................11 2.3.5 GLONASST.............................................................................11 2.3.6 GST...........................................................................................11 2.3.7 BDT..........................................................................................11 III 2.3.8 Internal Time............................................................................11 2.4 Computing RAW slant TEC.........................................................12 2.5 Computing Satellite Positions......................................................12 2.5.1 GPS/Galileo/BeiDou Coordinate Computation........................12 2.5.2 GLONAS Satellite Coordinate Computation...........................15 2.6 Calculating Geometry...................................................................21 2.7 Preprocessing................................................................................23 2.7.1 Elevation Masking....................................................................23 2.7.2 Gap Filling................................................................................23 2.7.3 Phase Jump Detection and Correction......................................23 2.7.4 Data Arrangement.....................................................................24 2.8 vTECeq.........................................................................................24 2.9 System Description and Sparsity..................................................25 2.9.1 Vector S....................................................................................26 2.9.2 Matrix A...................................................................................26 2.9.3 Matrix B...................................................................................27 2.9.4 Sparsity.....................................................................................27 CHAPTER 3: SOLVER...........................................................................28 3.1 Intel MKL.....................................................................................28 3.1.2 List of Used MKL Routines.....................................................28 3.2 Compute for Blocks of A..............................................................28 3.3 Solution for Arc Offsets................................................................28 3.4 Computing Residuals...................................................................29 3.5 Solution for vTECeq....................................................................29 CHAPTER 4: CODE STRUCTURE AND DOCUMENTATION ......30 4.1 Intel MKL.....................................................................................30 4.1.1 Class internalTime....................................................................30 4.1.2 Class triple................................................................................31 4.1.3 Class ObsData..........................................................................31 4.1.4 Class ephemerisGEC................................................................33 4.1.5 Class ephemerisR.....................................................................33 IV 4.1.6 Class NavData..........................................................................34 4.1.7 Class Dependency....................................................................35 4.2 Documentation using Doxygen....................................................36 CHAPTER 5: BENCHMARKING OF CODE......................................39 5.1 Tests on a Standalone Workstation...............................................39 5.1.1 Workstation Configuration.......................................................39 5.1.2 Workstation Test 1....................................................................39 5.1.3 Workstation Test 2....................................................................40 5.2 Tests on a Compute Node on Ulysses Cluster..............................43 5.2.1 Compute Node Specifications..................................................43 5.2.2 NUMACTL Policy...................................................................43 5.2.3 Compute Node Test 1...............................................................43 5.2.4 Compute Node Test 2...............................................................42 5.2.5 Compute Node Test 3...............................................................43 5.2.6 Old Code Timing......................................................................44 CHAPTER 6: CONCLUSION................................................................46 APPENDIX A (ACRONYMS).................................................................47 APPENDIX B (Bibliography)..................................................................49 V Introduction The purpose of this work is to provide an improved version of multi- constellation GNSS TEC calibration software[29], used by Telecommunications/ICT for Development Laboratory, Applied Physics section, ICTP. This tool is based on an arc-by-arc GPS based TEC calibration algorithm[20]. The current version of the code runs only on Windows operating system and does not use standard libraries, Furthermore the code is serial and without sufficient documentation. It is very difficult for the T/ICT4D Lab to maintain the current version. A web model based on this tool is running and accessible from ICTP website[30]. Improvements in this tool would also increase the functionality of this published service for external users. Furthermore it would enable us to build on top of this framework a more flexible and scalable service. We start this work from scratch as a new development project, based on C++ (using OOP features) and with the documentation describing the calibration technique. We also make use of existing executables for benchmarking. We were able to achieve impressive performance improvements over current version by integrating standard high performance libraries[27], besides that we now have a software which is well structured, uses OOP features, is well documented, and therefore it would now be possible for T/ICT4D Lab, Applied Physics group ICTP to maintain this software. VI Acknowledgements This project as presented in this thesis and its related activities were supported by Abdus Salam International Center for Theoretical Physics (ICTP) under the framework of Training and research in Italian Laboratories (TRIL). I would like to express my sincere gratitude for this institution's support towards participation in this Master, activities presented in this thesis, and for all the opportunities for professional growth. I would like to thank my supervisors Luigi Ciraolo, Katy Alazo, and Ivan Girotto for their support and guidance throughout this activity. I would also like to thank all my Instructors who kept me encouraged and focused during the Master. Moreover