I have a text file like this:
1.0 IONOSPHERE MAPS GNSS IONEX VERSION / TYPEADDNEQ2 V5.3 AIUB 03-JUL-14 20:57 PGM / RUN BY / DATE CODE'S GLOBAL IONOSPHERE MAPS FOR DAY 180, 2014 COMMENT Global ionosphere maps (GIM) are generated on a daily basis DESCRIPTION (I don't want this part)...(skip 600 lines) 1 START OF TEC MAP 2014 6 29 0 0 0 EPOCH OF CURRENT MAP 87.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H 154 154 155 155 155 156 156 156 156 155 155 155 154 154 153 153 152 151 150 149 148 147 146 145 145 144 143 142 141 140 139 139 138 138 137 137 137 137 136 136 137 137 137 137 137 138 138 139 139 139 140 140 141 142 142 143 143 144 145 145 146 147 147 148 149 149 150 151 152 152 153 153 154 85.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H 160 161 162 163 164 164 165 165 165 164 164 163 163 162 161 159 158 157 155 153 151 149 147 145 143 141 139 138 136 134 133 132 131 130 130 129 129 129 130 130 131 131 132 133 134 135 136 136 137 138 139 139 140 140 141 142 142 143 144 145 146 146 148 149 150 151 153 154 155 157 158 159 160...
I have to search for a specific value by entering specific latitude, longitude and time.
I have a function using fopen and fgetl for searching this. The data have a fixed spacing. So, I use strcmp string comparison and isequal to search for the value I want. . . .
Let say, value = search(lat, lon, time)
lat = 85.0; lon = -175; time (UT) = 0;
I will first compare each line getting from fgetl with the string:
2014 6 29 0 0 0 EPOCH OF CURRENT MAP
If matched, then search for 85.0 from the from following line getting by fgetl
85.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
If matched, store all related data into a vector:
160 161 162 163 164 164 165 165 165 164 164 163 163 162 161 159 158 157 155 153 151 149 147 145 143 141 139 138 136 134 133 132 131 130 130 129 129 129 130 130 131 131 132 133 134 135 136 136 137 138 139 139 140 140 141 142 142 143 144 145 146 146 148 149 150 151 153 154 155 157 158 159 160 (in vector form)
then get the value by specific vector index (corresponding to longitude, index=2 in this example)
. . .
But I have to call this search function for 250,000 times. It will take over 24 hours!!!
How can I do? I cannot change my computer. Thank!! I need your help!!*
PS: the text file is about 12,000 row * 80 column
Best Answer