home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / hammap / mapper.doc < prev    next >
Text File  |  1987-10-07  |  11KB  |  231 lines

  1.  
  2.  
  3.  
  4.  
  5.           MAPPER .. A DX MAP DRAWING and Propagation Program
  6.              for IBM PC Compatibles with graphics capability.
  7.  
  8.  
  9.                               by
  10.  
  11.                          Dennis P. Murray
  12.                          11165 McDonald Street
  13.                          Culver City, Ca. 90230
  14.                          CompuServ 72770,2765
  15.  
  16.  
  17.      This program, written for BASIC compilers such as MICROSOFT QUICK
  18. BASIC or BORLAND TURBO BASIC, displays a map of the world centered on
  19. a user-selectable QTH, and does propagation predictions based upon a
  20. modified MINIMUF method. It shows the regions of sunlight and darkness
  21. around the world, and updates these regions automatically at user-
  22. specified time intervals. It can also accept arbitrary times and dates
  23. at the user option. The program accepts DXCC prefixes or
  24. latitude/longitude values for the DX location, draws the path from the
  25. home QTH to that location, and displays the range and azimuth from the
  26. home QTH. The user can select either short or long paths. The sunspot
  27. number used for propagation prediction can be changed either
  28. temporarily, or be set as the new default value. The propagation
  29. prediction gives the MUF (maximum usable frequency), LUF (lowest
  30. usable frequency) based upon E-layer screening, and the minimum number
  31. of F-layer hops for a 5 degree minimum launch angle.
  32.  
  33.      This program is  written for IBM PC compatible computers with an
  34. EGA Graphics capability and color display. The source code provided
  35. could be modified by the user to use other graphics displays supported
  36. by your BASIC compiler. The program runs quite quickly on an AT clone
  37. with a hard disk and 640k of RAM, but it might be a 'dog' on a floppy-
  38. only machine because it must read some long files for the map data.
  39.  
  40.      The author does not intend to support this software, but is
  41. simply releasing it into the public domain for non-commercial use by
  42. HAMS who know what they are doing with their computer. The BASIC
  43. source code is included for that reason.
  44.  
  45.      The author encourages the distribution of this program to anyone
  46. who might find it useful, or onto bulletin boards which deal with HAM
  47. radio or shortwave listening. Please make sure to include ALL the
  48. required files in any uploading however. These files are:
  49.  
  50.  
  51.           1- MAPPER.BAS       The Program Source Code
  52.  
  53.           2- MAPPER.EXE       the Q-BASIC v3.0 executable code
  54.  
  55.           3- MAPPER.ATL       An Atlas of DXCC countries and their
  56.                               latitudes, longitudes, and DX prefix.
  57.                               This is an ASCII file ,sorted by prefix,
  58.                               which can be added onto by the user with
  59.                               a word processor or text editor.
  60.  
  61.           4- MAPPER.DEF       A short file used to store some default
  62.                               values used by the program.
  63.  
  64.           5- MAPPER.SCR       A large file which is used to store and
  65.                               retrieve the screen data for a world map
  66.                               centered on the user's location. This
  67.                               file is rewritten whenever the user
  68.                               changes the 'Home' location. ( It is
  69.                               interesting to view the world as seen
  70.                               from DX locations.) This data is read
  71.                               into a large array in memory to permit
  72.                               rapid redrawing of the map as the sun
  73.                               moves. The file is written into the
  74.                               integer array NSTORE by BLOAD and BSAVE
  75.                               commands. Because the program uses a lot
  76.                               of memory to speed things up, this array
  77.                               is DYNAMIC and does not generally reside
  78.                               in the normal BASIC data segment. The
  79.                               version of the program supplied for
  80.                               Q-BASIC uses the CALL PTR86 subroutine
  81.                               supplied by MICROSOFT, and this module
  82.                               must be specified during the linking
  83.                               process. In TURBO-BASIC the VARSEG
  84.                               command can be used to find the array
  85.                               segment used in lines 3220 and 12140.
  86.  
  87.           6- MAPPER.DOC       This instruction file.
  88.  
  89.           7- WORLDMAP.DAT     A large ASCII file containing the
  90.                               lat/lon of the world's borders. This is
  91.                               used to recompute the map whenever the
  92.                               map center point is redefined.
  93.  
  94.  
  95.  
  96.  
  97.  
  98. INSTRUCTIONS:
  99.  
  100.  
  101.      To run this program simply enter 'MAPPER'. After an initial
  102. message explaining the program is displayed, and you press any key to
  103. proceed, you will be presented with a 3-choice initial menu which
  104. allows you to change the default values of sunspot number, Home QTH
  105. latitude and longitude, or the time interval at which the
  106. daylight/darkness areas are redrawn. Pressing the appropriate number
  107. key will put up prompts to allow changes to these variables, and will
  108. return you to this menu after a change is entered. Pressing <ENTER> at
  109. the menu prompt will store these new values in the MAPPER.DEF file and
  110. proceed on to the map drawing.
  111.  
  112.      The map drawing will first put up a blank box, then calculate the
  113. position of the sun at the time and date currently held by the DOS,
  114. draw the solar terminator ( it looks like a satellite ground trace ),
  115. and color the sun-lit portions of the world in red. It will then go on
  116. to draw the country boundaries, color the oceans blue, and color the
  117. USA green. The land areas which are in darkness will show up in black.
  118. The program may miss coloring part of the oceans blue because of the
  119. position of the solar terminator blocking the PAINT commands used in
  120. the subroutine at line 8000 ... . I got tired of adding ocean points
  121. to this routine to cover all the contingencies.
  122.  
  123.      After the map is drawn the Main Menu will appear on the left of
  124. the screen, with 9 choices:
  125.  
  126.            1-   Select DX Prefix.
  127.                     This is the default choice ( <enter> will select
  128.                 it. ). You will be prompted to enter a DX prefix ( eg.
  129.                 ZS for S. Africa ). The program will then search the
  130.                 DX atlas for an occurrence of this prefix. It will
  131.                 display all of the entries ( ie ZS1,ZS2,... ) that
  132.                 contain this string and ask you to select one. If the
  133.                 number of candidate entries is large you can simply
  134.                 <ENTER> to continue the search.
  135.  
  136.                     When a selection is made the program will fetch
  137.                 the location of the prefix, make a propagation
  138.                 prediction for the currently selected date and time,
  139.                 draw the path from your QTH to that location, and
  140.                 display sundry useful information at the top of the
  141.                 screen.
  142.  
  143.            2-Specify Country Name.
  144.                 Same as option 1 except that you are prompted for the 
  145.                 name of a country ( or a subset of that name such as 
  146.                 'AUS', which will find both Austria and Australia ). 
  147.                 The search process is insensitive to the case of your 
  148.                 entry.
  149.   
  150.            3-Specify Lat/Lon.
  151.                     Same as the above option except you will be
  152.                 prompted to enter the latitude and longitude of the
  153.                 desired DX location.
  154.  
  155.            4-Change Sunspot Number.
  156.                     Prompts for a new value of sunspot number. The
  157.                 program will use this new value until it is changed
  158.                 again during this session, but it will not change the
  159.                 value in the default file that is read when the
  160.                 program starts.
  161.  
  162.            5-Select Date/Time.
  163.                     Prompts for a new date and time to be used to
  164.                 calculate solar terminator and make propagation
  165.                 predictions. <ENTER> responses to either of these
  166.                 prompts will fetch the current DOS value of date or
  167.                 time. This option will also turn off the automatic
  168.                 updating of the terminator and map redraw.
  169.  
  170.            6-Use Real Time.
  171.                     This option will reset the above option to the
  172.                 real ( DOS ) date and time and enable the auto update
  173.                 feature.
  174.  
  175.            7-Select Short Path.
  176.                     This toggles the path from the long path option
  177.                 back to short path.
  178.  
  179.            8-Select Long Path.
  180.                     This option toggles long path calculations.
  181.  
  182.            9-Quit.
  183.                     Exits the program and returns you to DOS.
  184.  
  185.  
  186.      The program is entirely menu-driven so you don't have to remember
  187. any special commands to use it.
  188.  
  189.      Good luck!!
  190.  
  191.  
  192.  
  193. Some Technical Information:
  194.  
  195.      The propagation is based upon the MINIMUF method, but with some
  196. modifications of the author.
  197.  
  198.     1-I limit the ground range per F-layer hop to 3500km. This keeps
  199.       the minimum elevation angle to about 5 deg. for F-layer heights
  200.       of 300km. It is a rare HAM who has a high enough antenna or good
  201.       enough ground screen to get much energy below 5 degrees. For
  202.       those souls who want to be optimistic you can change line 40030
  203.       to some longer range per hop.
  204.  
  205.     2-Rather than use the standard MINIMUF method of only looking at
  206.       the first and last ionospheric bounce points ( the two control
  207.       point method ), I calculate the propagation at every hop and
  208.       select the worst-case condition out of all of them. This results
  209.       in generally much more pessimistic MUF and LUF estimates than
  210.       MINIMUF.
  211.  
  212.    3- I have included the E-layer screening frequency and lowest-
  213.       usable frequency ( LUF ) estimation technique given in chapter 4
  214.       of 'Amateur Radio Software ', by John Morris GM4ANB , RSGB
  215.       Books, Lambda House, Cranborne Road, Potters Bar, Hertfordshire
  216.       EN6 3JW. The subroutine starting at line 45000 contains this
  217.       calculation.
  218.  
  219.     4-I have used what apparently is the HAM convention for longitudes
  220.       being positive-West for the input and output in this program, in
  221.       the MIMIMUF subroutine, and in the DX Atlas file MAPPER.ATL.
  222.       However, in the internals of the program I immediately reverse
  223.       the sign of the longitude. Being an engineer by training I think
  224.       in terms of right-handed coordinate systems! Therefore those who
  225.       want to modify the program should be wary of the sign of the
  226.       longitude being used.
  227.  
  228.     5-Note that I have changed the names of the variables in the
  229.       MINIMUF subroutine from the standard values to names which are
  230.       descriptive of what the variable actually is.
  231.