Topics

Swiss Ephemeris 2.08 released

Dieter Koch
 

This release provides a number minor bug fixes and cleanups, an update for current Delta T, a few little improvements of swetest and three new ayanamshas.

Fixed star functions:
- Wrong distance values in the remote past or future were corrected.
Position values were not affected by this bug.
- Inaccurate speed values of fixed star functions were corrected.
The nutation component was missing.
- When sepl*/semo* are not installed, swe_fixstar2() now defaults to the Moshier ephemeris. With version 2.07*, it has returned error.
- Repeated call of swe_fixstar_mag() did not work correctly with SE 2.07*. Now it does.

- The AU constant has been updated to the current IAU standard. This change does not have any noticeable effect on planetary or star positions.

Ayanamshas:
- New ayanamsas were added:
SE_SIDM_GALCENT_COCHRANE (David Cochrane)
SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
For information on these, please look them up in the general
documentation of the Swiss Ephemeris.
- Kugler ayanamshas were corrected:
E = -3;22 in source corresponds ayanamsha ay = 5;40
E = -4;46 in source corresponds ayanamsha ay = 4;16
E = -5;37 in source corresponds ayanamsha ay = 3;25
(Nobody has noticed this error for 20 years.)

Other stuff:
- swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could be relevant for the calculation of sidereal house cusps.
- swe_pheno() and swe_pheno_ut(): the functions now return the correct ephemeris flag.
- eclipse functions: now all Saros series numbers between the years 1336 BCE and 2665 CE are found. A few had been missing in previous versions of SE. Beyond this time range there are eclipses that do not have a Saros series number.
- swe_split_deg() correct handling of the options
SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
Sometimes, the function provided sign number 12 when a position was rounded to 360°. This was wrong because sign numbers are defined as 0 - 11. This was a very old bug. From now on, only sign numbers 0 - 11 can occur.
- A similar error occured with SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be returned, no 27.

- Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were removed.

Improvements of swetest:
- With calculations depending on geographic positions such as risings and local eclipses, an output line indicating the geographic position has been added. Those who use swetest system calls in their software (which we actually do not recommend) should test if this does not create.
- The output header of swetest now shows both true and mean epsilon.
- swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha. For detailed info about this option call swetest -h.

Dieter Koch
 

Hi again,

I forgot to add that all new DLLs and executables were created with Microsoft Visual Studio 2015 (version 14.), no longer with MinGW on Linux. The usage of MinGW since Swiss Ephemeris version 2.05 had caused difficult problems for some of our users. We hope that these problems will now disappear.

Best wishes,

Dieter

On 19.06.19 10:37, Dieter Koch wrote:
This release provides a number minor bug fixes and cleanups, an update for current Delta T, a few little improvements of swetest and three new ayanamshas.
Fixed star functions:
- Wrong distance values in the remote past or future were corrected.
  Position values were not affected by this bug.
- Inaccurate speed values of fixed star functions were corrected.
  The nutation component was missing.
- When sepl*/semo* are not installed, swe_fixstar2() now defaults to the Moshier ephemeris. With version 2.07*, it has returned error.
- Repeated call of swe_fixstar_mag() did not work correctly with SE 2.07*. Now it does.
- The AU constant has been updated to the current IAU standard. This change does not have any noticeable effect on planetary or star positions.
Ayanamshas:
- New ayanamsas were added:
  SE_SIDM_GALCENT_COCHRANE (David Cochrane)
  SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
  SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
  For information on these, please look them up in the general
  documentation of the Swiss Ephemeris.
- Kugler ayanamshas were corrected:
  E = -3;22 in source corresponds ayanamsha ay = 5;40
  E = -4;46 in source corresponds ayanamsha ay = 4;16
  E = -5;37 in source corresponds ayanamsha ay = 3;25
  (Nobody has noticed this error for 20 years.)
Other stuff:
- swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could be relevant for the calculation of sidereal house cusps.
- swe_pheno() and swe_pheno_ut(): the functions now return the correct ephemeris flag.
- eclipse functions: now all Saros series numbers between the years 1336 BCE and 2665 CE are found. A few had been missing in previous versions of SE. Beyond this time range there are eclipses that do not have a Saros series number.
- swe_split_deg() correct handling of the options
  SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
  Sometimes, the function provided sign number 12 when a position was rounded to 360°. This was wrong because sign numbers are defined as 0 - 11. This was a very old bug. From now on, only sign numbers 0 - 11 can occur.
- A similar error occured with SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be returned, no 27.
- Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were removed.
Improvements of swetest:
- With calculations depending on geographic positions such as risings and local eclipses, an output line indicating the geographic position has been added. Those who use swetest system calls in their software (which we actually do not recommend) should test if this does not create.
- The output header of swetest now shows both true and mean epsilon.
- swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha. For detailed info about this option call swetest -h.

sidharth chhabra
 

Great work! Thank you

On Jun 19, 2019, at 4:37 AM, Dieter Koch <dieter@...> wrote:

This release provides a number minor bug fixes and cleanups, an update for current Delta T, a few little improvements of swetest and three new ayanamshas.

Fixed star functions:
- Wrong distance values in the remote past or future were corrected.
Position values were not affected by this bug.
- Inaccurate speed values of fixed star functions were corrected.
The nutation component was missing.
- When sepl*/semo* are not installed, swe_fixstar2() now defaults to the Moshier ephemeris. With version 2.07*, it has returned error.
- Repeated call of swe_fixstar_mag() did not work correctly with SE 2.07*. Now it does.

- The AU constant has been updated to the current IAU standard. This change does not have any noticeable effect on planetary or star positions.

Ayanamshas:
- New ayanamsas were added:
SE_SIDM_GALCENT_COCHRANE (David Cochrane)
SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
For information on these, please look them up in the general
documentation of the Swiss Ephemeris.
- Kugler ayanamshas were corrected:
E = -3;22 in source corresponds ayanamsha ay = 5;40
E = -4;46 in source corresponds ayanamsha ay = 4;16
E = -5;37 in source corresponds ayanamsha ay = 3;25
(Nobody has noticed this error for 20 years.)

Other stuff:
- swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could be relevant for the calculation of sidereal house cusps.
- swe_pheno() and swe_pheno_ut(): the functions now return the correct ephemeris flag.
- eclipse functions: now all Saros series numbers between the years 1336 BCE and 2665 CE are found. A few had been missing in previous versions of SE. Beyond this time range there are eclipses that do not have a Saros series number.
- swe_split_deg() correct handling of the options
SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
Sometimes, the function provided sign number 12 when a position was rounded to 360°. This was wrong because sign numbers are defined as 0 - 11. This was a very old bug. From now on, only sign numbers 0 - 11 can occur.
- A similar error occured with SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be returned, no 27.

- Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were removed.

Improvements of swetest:
- With calculations depending on geographic positions such as risings and local eclipses, an output line indicating the geographic position has been added. Those who use swetest system calls in their software (which we actually do not recommend) should test if this does not create.
- The output header of swetest now shows both true and mean epsilon.
- swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha. For detailed info about this option call swetest -h.


elevenelefants
 

Hi Dieter,

Great work, thanks a lot!

For SE 2.07 I had a VS2017 project. After replacing all files in that project by 2.08 files, I've got a lot of compilation errors. All errors were produced by "GFABASIC DLL interface". I had to comment it out in order to compile. Attached please find the related part of VS2017 (15.9.12) build messages.

Best regards
Dmitry

On 2019-06-19 11:37, Dieter Koch wrote:
This release provides a number minor bug fixes and cleanups, an update for current Delta T, a few little improvements of swetest and three new ayanamshas.

Fixed star functions:
- Wrong distance values in the remote past or future were corrected.
?? Position values were not affected by this bug.
- Inaccurate speed values of fixed star functions were corrected.
?? The nutation component was missing.
- When sepl*/semo* are not installed, swe_fixstar2() now defaults to the Moshier ephemeris. With version 2.07*, it has returned error.
- Repeated call of swe_fixstar_mag() did not work correctly with SE 2.07*. Now it does.

- The AU constant has been updated to the current IAU standard. This change does not have any noticeable effect on planetary or star positions.

Ayanamshas:
- New ayanamsas were added:
?? SE_SIDM_GALCENT_COCHRANE (David Cochrane)
?? SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
?? SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
?? For information on these, please look them up in the general
?? documentation of the Swiss Ephemeris.
- Kugler ayanamshas were corrected:
?? E = -3;22 in source corresponds ayanamsha ay = 5;40
?? E = -4;46 in source corresponds ayanamsha ay = 4;16
?? E = -5;37 in source corresponds ayanamsha ay = 3;25
?? (Nobody has noticed this error for 20 years.)

Other stuff:
- swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could be relevant for the calculation of sidereal house cusps.
- swe_pheno() and swe_pheno_ut(): the functions now return the correct ephemeris flag.
- eclipse functions: now all Saros series numbers between the years 1336 BCE and 2665 CE are found. A few had been missing in previous versions of SE. Beyond this time range there are eclipses that do not have a Saros series number.
- swe_split_deg() correct handling of the options
?? SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
?? Sometimes, the function provided sign number 12 when a position was rounded to 360??. This was wrong because sign numbers are defined as 0 - 11. This was a very old bug. From now on, only sign numbers 0 - 11 can occur.
- A similar error occured with SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be returned, no 27.

- Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were removed.

Improvements of swetest:
- With calculations depending on geographic positions such as risings and local eclipses, an output line indicating the geographic position has been added. Those who use swetest system calls in their software (which we actually do not recommend) should test if this does not create.
- The output header of swetest now shows both true and mean epsilon.
- swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha. For detailed info about this option call swetest -h.

Dieter Koch
 

Hi Dmitry,

For SE 2.07 I had a VS2017 project. After replacing all files in that
project by 2.08 files, I've got a lot of compilation errors. All errors
were produced by "GFABASIC DLL interface". I had to comment it out in
order to compile. Attached please find the related part of VS2017
(15.9.12) build messages.

You mean, you had to remove the file swedllst.c from the project?

This is in fact another thing which I forgot to mention in my announcement of SE 2.08: We do no longer want to support these special DLL functions ....._d() for GFA Basic. I hope everybody is fine with this.

Dieter
 

Best regards
Dmitry




On 2019-06-19 11:37, Dieter Koch wrote:
> This release provides a number minor bug fixes and cleanups, an update
> for current Delta T, a few little improvements of swetest and three
> new ayanamshas.
>
> Fixed star functions:
> - Wrong distance values in the remote past or future were corrected.
> ?? Position values were not affected by this bug.
> - Inaccurate speed values of fixed star functions were corrected.
> ?? The nutation component was missing.
> - When sepl*/semo* are not installed, swe_fixstar2() now defaults to
> the Moshier ephemeris. With version 2.07*, it has returned error.
> - Repeated call of swe_fixstar_mag() did not work correctly with SE
> 2.07*. Now it does.
>
> - The AU constant has been updated to the current IAU standard. This
> change does not have any noticeable effect on planetary or star
> positions.
>
> Ayanamshas:
> - New ayanamsas were added:
> ?? SE_SIDM_GALCENT_COCHRANE (David Cochrane)
> ?? SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
> ?? SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
> ?? For information on these, please look them up in the general
> ?? documentation of the Swiss Ephemeris.
> - Kugler ayanamshas were corrected:
> ?? E = -3;22 in source corresponds ayanamsha ay = 5;40
> ?? E = -4;46 in source corresponds ayanamsha ay = 4;16
> ?? E = -5;37 in source corresponds ayanamsha ay = 3;25
> ?? (Nobody has noticed this error for 20 years.)
>
> Other stuff:
> - swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could
> be relevant for the calculation of sidereal house cusps.
> - swe_pheno() and swe_pheno_ut(): the functions now return the correct
> ephemeris flag.
> - eclipse functions: now all Saros series numbers between the years
> 1336 BCE and 2665 CE are found. A few had been missing in previous
> versions of SE. Beyond this time range there are eclipses that do not
> have a Saros series number.
> - swe_split_deg() correct handling of the options
> ?? SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
> ?? Sometimes, the function provided sign number 12 when a position was
> rounded to 360??. This was wrong because sign numbers are defined as 0
> - 11. This was a very old bug. From now on, only sign numbers 0 - 11
> can occur.
> - A similar error occured with SE_SPLIT_DEG_ROUND_SEC and
> SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be
> returned, no 27.
>
> - Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were
> removed.
>
> Improvements of swetest:
> - With calculations depending on geographic positions such as risings
> and local eclipses, an output line indicating the geographic position
> has been added. Those who use swetest system calls in their software
> (which we actually do not recommend) should test if this does not create.
> - The output header of swetest now shows both true and mean epsilon.
> - swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha.
> For detailed info about this option call swetest -h.
>
>
>




elevenelefants
 

Hi Dieter,

No, I just wrapped "*_d" functions listed in swedllst.c into #if 0...?? #endif.

Best regards
Dmitry


On 2019-06-19 15:55, Dieter Koch wrote:
Hi Dmitry,

For SE 2.07 I had a VS2017 project. After replacing all files in that
project by 2.08 files, I've got a lot of compilation errors. All errors
were produced by "GFABASIC DLL interface". I had to comment it out in
order to compile. Attached please find the related part of VS2017
(15.9.12) build messages.

You mean, you had to remove the file swedllst.c from the project?

This is in fact another thing which I forgot to mention in my announcement of SE 2.08: We do no longer want to support these special DLL functions ....._d() for GFA Basic. I hope everybody is fine with this.

Dieter
??

Best regards
Dmitry




On 2019-06-19 11:37, Dieter Koch wrote:
> This release provides a number minor bug fixes and cleanups, an update
> for current Delta T, a few little improvements of swetest and three
> new ayanamshas.
>
> Fixed star functions:
> - Wrong distance values in the remote past or future were corrected.
> ?? Position values were not affected by this bug.
> - Inaccurate speed values of fixed star functions were corrected.
> ?? The nutation component was missing.
> - When sepl*/semo* are not installed, swe_fixstar2() now defaults to
> the Moshier ephemeris. With version 2.07*, it has returned error.
> - Repeated call of swe_fixstar_mag() did not work correctly with SE
> 2.07*. Now it does.
>
> - The AU constant has been updated to the current IAU standard. This
> change does not have any noticeable effect on planetary or star
> positions.
>
> Ayanamshas:
> - New ayanamsas were added:
> ?? SE_SIDM_GALCENT_COCHRANE (David Cochrane)
> ?? SE_SIDM_GALEQU_FIORENZA (Nick Anthony Fiorenza)
> ?? SE_SIDM_VALENS_MOON (Vettius Valens, 2nd century CE)
> ?? For information on these, please look them up in the general
> ?? documentation of the Swiss Ephemeris.
> - Kugler ayanamshas were corrected:
> ?? E = -3;22 in source corresponds ayanamsha ay = 5;40
> ?? E = -4;46 in source corresponds ayanamsha ay = 4;16
> ?? E = -5;37 in source corresponds ayanamsha ay = 3;25
> ?? (Nobody has noticed this error for 20 years.)
>
> Other stuff:
> - swe_houses_ex() now also understands iflag & SEFLG_NONUT. This could
> be relevant for the calculation of sidereal house cusps.
> - swe_pheno() and swe_pheno_ut(): the functions now return the correct
> ephemeris flag.
> - eclipse functions: now all Saros series numbers between the years
> 1336 BCE and 2665 CE are found. A few had been missing in previous
> versions of SE. Beyond this time range there are eclipses that do not
> have a Saros series number.
> - swe_split_deg() correct handling of the options
> ?? SE_SPLIT_DEG_ROUND_SEC and SE_SPLIT_DEG_ZODIACAL:
> ?? Sometimes, the function provided sign number 12 when a position was
> rounded to 360??. This was wrong because sign numbers are defined as 0
> - 11. This was a very old bug. From now on, only sign numbers 0 - 11
> can occur.
> - A similar error occured with SE_SPLIT_DEG_ROUND_SEC and
> SE_SPLIT_DEG_NAKSHATRA, where only nakshatra numbers 0 - 26 should be
> returned, no 27.
>
> - Macros EXP16, USE_DLL16 und MAKE_DLL16 for very old compilers were
> removed.
>
> Improvements of swetest:
> - With calculations depending on geographic positions such as risings
> and local eclipses, an output line indicating the geographic position
> has been added. Those who use swetest system calls in their software
> (which we actually do not recommend) should test if this does not create.
> - The output header of swetest now shows both true and mean epsilon.
> - swetest option -sidudef[jd,ay0,...] allows user-defined ayanamsha.
> For detailed info about this option call swetest -h.
>
>
>





FONTAINE
 

Hi Dimitry, Dieter,
I have same problem with VS2017 and VS2019
It's because _d functions use EXP16 interface
You have 2 solutions:
- If you don't use _d functions you can comment these lines as Dimitry done
- If you need these functions you have to define EXP16

In swephexp.h replace DLL defines (from line 628) by:
/* DLL defines
  Define UNDECO_DLL for un-decorated dll
  verify compiler option __cdecl for un-decorated and __stdcall for decorated */
/*#define UNDECO_DLL*/
#ifdef MAKE_DLL
  #if defined (PASCAL) || defined(__stdcall)
   #if defined UNDECO_DLL
    #define CALL_CONV __cdecl
   #else
    #define CALL_CONV __stdcall
   #endif
  #else
    #define CALL_CONV
  #endif
  #ifdef MAKE_DLL16 /* 16bit DLL */
    /* We compiled the 16bit DLL for Windows 3.x using Borland C/C++ Ver:3.x
       and the -WD or -WDE compiler switch. */
    #define EXP16 __export
    #define EXP32
  #else /* 32bit DLL */
    /* To export symbols in the new DLL model of Win32, Microsoft
       recommends the following approach */
    #define EXP16
    #define EXP32  __declspec( dllexport )
  #endif
#else
  #define CALL_CONV
  #define EXP16
  #define EXP32
#endif 

Regards
Pierre

Dieter Koch
 

Hi Pierre,

as I said, we would like to get rid of the ..._d() functions. So swedllst.c is not needed anymore and can be removed from the VS projects. Then the compiler should not complain. Does anybody still need them?

Dieter

On 19.06.19 16:44, FONTAINE wrote:
Hi Dimitry, Dieter,
I have same problem with VS2017 and VS2019
It's because _d functions use EXP16 interface
You have 2 solutions:
- If you don't use _d functions you can comment these lines as Dimitry done
- If you need these functions you have to define EXP16
In swephexp.h replace DLL defines (from line 628) by:
/* DLL defines
  Define UNDECO_DLL for un-decorated dll
  verify compiler option __cdecl for un-decorated and __stdcall for decorated */
/*#define UNDECO_DLL*/
#ifdef MAKE_DLL
  #if defined (PASCAL) || defined(__stdcall)
   #if defined UNDECO_DLL
    #define CALL_CONV __cdecl
   #else
    #define CALL_CONV __stdcall
   #endif
  #else
    #define CALL_CONV
  #endif
  #ifdef MAKE_DLL16 /* 16bit DLL */
    /* We compiled the 16bit DLL for Windows 3.x using Borland C/C++ Ver:3.x
       and the -WD or -WDE compiler switch. */
    #define EXP16 __export
    #define EXP32
  #else /* 32bit DLL */
    /* To export symbols in the new DLL model of Win32, Microsoft
       recommends the following approach */
    #define EXP16
    #define EXP32  __declspec( dllexport )
  #endif
#else
  #define CALL_CONV
  #define EXP16
  #define EXP32
#endif
Regards
Pierre

Walter Pullen
 

Thank you for making Swiss Ephemeris 2.08 available. :) I successfully compiled the 2.08 sources from https://www.astro.com/ftp/swisseph/src/ in 32 and 64 bit Windows environments without any warnings. The issue with fixed star X,Y,Z coordinates as described in the thread https://groups.io/g/swisseph/message/7229 has been fixed, and stars now properly move along straight vectors through space even over many thousands of years.
 
I did encounter one issue with high Ascii characters in sefstars.txt. Line 1546 in this file is intended to look like:
# Liu/Zhu/Zhang, „Reconsidering the galactic coordinate system“
However the raw bytes in the file are actually:
# Liu/Zhu/Zhang, „Reconsidering the galactic coordinate system“, 
 
That shouldn't be a problem, in that the high Unicode quotation mark characters are encoded in UTF8 (and therefore are represented with three bytes each). However, there is no three byte UTF8 marker at the start of this file. That means many text editors will display the file as the second line above, using three separate garbage characters.
 
What's worse is that some text editors such as Windows Notepad will see those bytes in the file, and automatically detect the file as UTF8. That will display the characters correctly in the editor, which is good. However resaving the file will then automatically add the three byte UTF8 marker to the start of the file. Doing that makes Swiss Ephemeris unable to read the file correctly, because the first line no longer starts with a "#" comment character, and the rest of the comment will be parsed as garbage star data, which makes the whole file fail to load.
 
To avoid potential issues like this, it's recommended to only have low-Ascii characters in this file. In other words, have the line be:
# Liu/Zhu/Zhang, "Reconsidering the galactic coordinate system"
 
Thanks with regards,
Walter D. "Cruiser1" Pullen :)

Dieter Koch
 

Thank you, Walter! I fixed the problem. sefstars.txt is now a clean ASCII file.

Dieter

Am Mi., 3. Juli 2019 um 08:02 Uhr schrieb Walter Pullen <astara@...>:

Thank you for making Swiss Ephemeris 2.08 available. :) I successfully compiled the 2.08 sources from https://www.astro.com/ftp/swisseph/src/ in 32 and 64 bit Windows environments without any warnings. The issue with fixed star X,Y,Z coordinates as described in the thread https://groups.io/g/swisseph/message/7229 has been fixed, and stars now properly move along straight vectors through space even over many thousands of years.
 
I did encounter one issue with high Ascii characters in sefstars.txt. Line 1546 in this file is intended to look like:
# Liu/Zhu/Zhang, „Reconsidering the galactic coordinate system“
However the raw bytes in the file are actually:
# Liu/Zhu/Zhang, „Reconsidering the galactic coordinate system“, 
 
That shouldn't be a problem, in that the high Unicode quotation mark characters are encoded in UTF8 (and therefore are represented with three bytes each). However, there is no three byte UTF8 marker at the start of this file. That means many text editors will display the file as the second line above, using three separate garbage characters.
 
What's worse is that some text editors such as Windows Notepad will see those bytes in the file, and automatically detect the file as UTF8. That will display the characters correctly in the editor, which is good. However resaving the file will then automatically add the three byte UTF8 marker to the start of the file. Doing that makes Swiss Ephemeris unable to read the file correctly, because the first line no longer starts with a "#" comment character, and the rest of the comment will be parsed as garbage star data, which makes the whole file fail to load.
 
To avoid potential issues like this, it's recommended to only have low-Ascii characters in this file. In other words, have the line be:
# Liu/Zhu/Zhang, "Reconsidering the galactic coordinate system"
 
Thanks with regards,
Walter D. "Cruiser1" Pullen :)