Grouper for SatPC32

This document describes the path from raw satellite tle data to the 12 little boxes in the lower right corner of the SatPC32 main window labeled A through L used to select the desired satellite. There is nothing much new here. All the information presented here is available in various parts of the SatPC32 ReadMe, Manual, FAQs, Hints, Hints in the Auxiliary Files, What's New and other online sources. This document covers only the satellite data related aspects of SatPC32. This seems to be the most common non-hardware or operating system source of problems for users. There are various places where issues may cause problems for you. These issues will be identified and discussed.

SatPC32 is an excellent full featured flexible program that will work with almost all hardware. The more you know about it the more you will be able to use its features and solve problems that you might have. SatPC32 has 4 configurations with a maximum of 12 groups in each configuration. Each of the 12 groups has a maximum of 12 satellites in it. Each of these satellites has a name that must be linked to a tle data entry in one of several different tle data sources. The satellite names have three different ways of being interpreted which introduces its own issues.

I suggest having SatPC32 up and running while reading this document. This way you can try out things as they are described. It may also help reduce boredom.

---------- TLE Data Sources ----------

Tle tle data can come from several sources. The most common is from the web. The web data sources are listed in the Celestrak.Sqf file which you can view and edit from the   ? -> Auxiliary Files   menu. Even though the file name is Celestrak.Sqf you can put links to any web tle data source in this file. The primary use of the Celestrak.Sqf file is when the   Satellites -> Update Keps  button is clicked. In the window that pops up when you click the  Update Keps  button you will see the same list of web data sources that you saw in the Celestrak.Sqf file. No surprise here. When you leave the  Update Keps  box take a look at the  Source Files: column. Most likely you will see more files listed here than when you looked at the Celestrak.Sqf file. This is due to the fact that the tle data sources you see in Celestrak.Sqf file are only those that can be updated directly from the SatPC32 program.

The SatPC32 program creates and uses the Source Files: list in another way. It scans the \SatPC32\Kepler folder and looks for files that have certain file types including but not limited to .txt and .all. This means that it is your responsibility to manually update any files in the list of Source Files that are not in the Celestrak.Sqf file.

Up to this point everything that we have described is common to all 4 of the SatPC32 configurations.

---------- SatFiles.Sqf and SatSources.Sqf ----------

SatFiles.Sqf is used to keep track of the names of the groups. SatSources.Sqf is used to keep track of the tle data source file that is associated with each of the groups. These two files are used together to identify which data source file is used with each group. It uses indexing to establish the link. To understand how this works consider keeping track of the first and last names of people. You could use a file called names.txt with the first and last names together on the same line in the file separated by a comma or a space. Another way to do it is to keep all the first names in one list called FirstNames.txt with one first name on each line. The last names would be stored separately in another file called LastNames.txt with one last name on each line. To find the full name indexing is used to combine the first and last names. If you want to find the last name of someone you look up their first name in the FirstNames.txt file and note its position in the file. For example if their first name was the third name in the FirstNames.txt file you then use this information to locate the last name by looking at the third name in the LastNames.txt file.

In SatPC32 to locate the tle data source for a group it looks up the group name in SatFiles.Sqf file and notes its position in the list. It than takes that position information and finds the data source at the same position in the SatSources.Sqf file. Since we are using NotePad to edit various files this is a good example how a seemingly simple error can cause huge problems. For example if we used NotePad to delete an entry from the SatSources.Sqf file obviously the data source for the corresponding group would be incorrect. Not only that but the data source for all the groups below that one will be incorrect as the index relationship has been thrown off. NotePad is only slightly more intelligent than a dish rag. It does not understand anything about the big picture. The SatPC32 program understands the big picture so when changes are made from within the SaPC32 program these changes can be checked for errors. When we use NotePad we must be very careful and aware of how the files are related to one another.

---------- Configurations ----------

SatPC32 has a very powerful and usefull feature called Configurations. There are a maximum of four different configurations in SatPC32. You select the configuration you wish to use from the  Setup -> Configuration menu. The currently selected configuration is displayed on the bottom line of the SatPC32 window using roman numerals. Each configuration can have its own set of groups each linked to its own data source file. Each of the configurations has its own SatFiles and SatSources files. Most of the files for each configuration are stored in folders \SatPC32\CfgII, \SatPC32\CfgIII and \SatPC32\CfgIV. There is no \SatPC32\CfgI folder as the files for configuration 1 are stored in the \SatPC32 folder. The SatSources files are handled in a different way. The SatSources files for each group are all stored together in the \SatPC32 folder as SatSources.SQF, SatSourcesII.SQF, SatSourcesIII.SQF and SatSourcesIV.SQF. The other files maintain the same name and are separated by being stored in the CfgII, CfgIII and CfgIV folders.

---------- Groups ----------

The next step is to link the group names listed in SatFiles to actual files containing the names of the satellites in the group. SatPC32 has a group that is very important named Standard. You can verify this by going to the SatPC32  Satellites -> Groups  menu. Select the Standard group and click on the Remove button. Then click on the Remove button on the new window that shows up. You will get an error message telling you that you can not delete the Standard group. This is a prime example of how changes made from within SatPC32 have the important benefit of SatPC32 being able to use its understanding of the big picture to prevent you from making an error. You can do the same thing using NotePad by editing the SatFiles.Sqf and deleting the Standard group. Since NotePad is clueless it will not be able to let you know that you are making an error.

Each group in the SatFiles file should have a corresponding file with a name equal to the group name and a .Sat extension. There are other similar files for use with the other SatPC32 sub programs with the same group name followed by .Aos and .Wis. These are not required for use with the main SatPC32 program and will not be discussed here.

Remember that there are four configurations so there are sets of satellite name files (i.e. Standard.Sat) for each group in each configuration. You may find other files with the extension .Sat that do not appear to be linked to any group. These are most likely residue leftover from removing a group using SatPC32. When the group is removed the corresponding .Sat files for the group are not deleted. This is not even remotely an important issue so just ignore them.

---------- Satellite Names ----------

We now finally have a file containing a maximum of 12 actual satellite names. All that seems to be left is linking each of those satellite names to one of the 12 buttons. This is done by simply linking the sat names in the satellite name file for the currently selected group in the currently selected configuration to a button. This is another example of an indexed link. The first satellite name in the list is associated with the A button, the second with B etc. Fortunately SatPC32 has included a method to change the order of the satellite names in the file using  Satellites -> Sort Sel. Sats

At this point you probably think we are done. We are not - as the great man Winston Churchill said in 1942.

"Now this is not the end. It is not even the beginning of the end. But it is, perhaps, the end of the beginning.".

---------- Long Satellite Names ----------

The satellite name may seem like a very minor thing but it is a very important issue with SatPC32. Fortunately Erich has provided a couple of ways of dealing with it. Most of these involve using NotePad so care must be taken.

Back in the day there were not many satellites. More importantly they had nice short names like "A0-07". Some of the core display structures in SatPC32 and its sub-programs are well suited to these short satellite names. In this modern era cubesats are extremely simple devices to build and many of them have fairly "long" names. The term long only has meaning when related to other things. Take for example the sat name M-CUBED & EXP-1 PRIME is that a long name ? It is compared to the amount of space available for displaying the satellite name in some programs. Remember Erich has provided a couple of solutions to the problem so all we are doing is explaining why long names are an issue. If we use this satellite in WinAos V. 12.8c in the Available column we can see this much of the name M-CUBED &. If we select the sat in the Selected column we can see a bit more M-CUBED & EXP. Depending on which of the SatPC32 programs you are running you will see more or less of the long name.

You can expand the window size in the Program Window portion of the Setup -> Options menu to one of 5 different widths. W1 is the smallest and my favorite as it does not take up much space on the desktop. W5 is large and well suited to displaying the tracks of many satellites at the same time. Use the 'M' letter button in the upper left corner of the main window to turn this on and off. It looks and works great.

You may have noticed that when you changed the window size the size of the text and the space available for displaying sat names did not change. The only thing to really change is the size of the map. This is not a bug it is just the way it is. Orbitron does the same thing.

---------- Long Satellite Names II ----------

Erich has solved the long satellite names problem by providing at least two ways to adjust the length of the satellite name. In my opinion the best way involves the file AmsatNames.txt which is located in the \SatPC32 folder. The AmsatNames.txt file provides a cross reference between a nice "short" satellite name you can pick and the 'Identification Number' / 'International Designator' for a tle data set. Unlike the satellite name the 'Identification Number' and 'International Designator' are actually part of the Norad/Nasa tle data set which does not include a satellite name.

The first step in understanding AmsatNames.txt is to understand the settings in the  Satellites -> Sat Names  menu. There are only three choices and they control the display of the satellite names. The default setting is the second one which is "Use Amsat Names if Available". This setting creates a simple filter that substitutes the short name for the satellite in AmsatNames.txt when it finds a match for the 'Identification Number' / 'International Designator'. Notice this is not just a simplistic substitute this name for that name. It is substitute this name for that 'Identification Number' / 'International Designator'. It is very important to note that the actual name of the satellite in the data source file is not changed.

Be sure to try something like this out on your system. It demonstrates how things work and some of the issues you will most likely encounter.

On my system I have two sats in my Standard group and the Sat Names option is set to the default "Use Amsat Names if Available". The data source for the Standard group is Amateur.txt. My two sats show up as AO-07 and CUTE-1 (CO-55) everywhere including the 'Satellites Available' and 'Selected [Standard] columns in the Satellites menu. The same names show up when hovering over the 'A' and 'B' boxes and in the upper left corner of the main SatPC32 window when they are selected. All is well.

If you examine the Amateur.txt file in the \SatPC32\Kepler folder you will find an entry for
CUTE-1 (CO-55) as expected but the closest thing to AO-07 is an entry for OSCAR 7 (AO-7)
the solution is of course AmsatNames.txt. It has a line that looks like this
07530 74089B AO-07
Since we are using the "Use Amsat Names if Available" satellite names option and it did not find an entry for
CUTE-1 (CO-55) in the AmsatNames.txt file it displayed the sat name from the source file. It did find an entry in AmsatNames.txt for OSCAR 7 (AO-7) and displayed the "short" name AO-07. Remember that it did not change the source file it just used a filter based on AmsatNames.txt to control what is displayed. So far so good. Now for the sticky bits.

The first option in the Sat Names menu is "Use Sat Names from Source File". In a perfect world this would be the only choice but we have to deal with the "long" names issue. Change the Satellites -> Sat Names option to the first one "Use Sat Names from Source File". Select it and then be sure to click on the 'Store' button and then the OK button. When you change a sat names option you must close and re-open SatPC32.

If you have been following along on your own SatPC32 setup you should immediately notice that something has changed. On my system only the little letter 'A' button in the lower right corner is on and CUTE-1 (CO-55) is shown as the selected sat. AO-07 is not to be found. Switch to the Satellites menu. You will see OSCAR 7 (AO-7) in the Available: column where AO-07 used to be. This makes sense as our sat names options specifies "Use Sat Names from Source File" which means that AmsatNames.txt is not used. The Selected [Standard] column shows the old AO-07 in slot A and CUTE-1 (CO-55) in slot B. Click on the OK button to go back to the main menu where you will find CUTE-1 (CO-55) in slot A working perfectly. It is a tribute to Erich that the program keeps on running even though things are not quite right. It does not throw an exception and crash but keeps on running.

Go back to sat names option 2 "Use Amsat Names if Available" and after rebooting SatPC32 you will find all is back to normal.

If you have found any errors please let me know. If you have read this much and are interested let me know as I am looking for a few beta testers for a SatPC32 auxiliary program.

 tnx & 73 W9KE