aendie / SkyAlmanac-Py3

Creates the daily pages of a Nautical Almanac using Skyfield (Python 3)
GNU General Public License v3.0
20 stars 3 forks source link

FileNotFoundError #2

Closed reza-ghazi closed 2 years ago

reza-ghazi commented 3 years ago

Hello, Aendie When I run the module in Windows 10, I will face the FileNotFoundError message in line 211 of skyalmanac.py. Please see the following codes: `g:\skyalmanac\py -3 skyalmanac.py What do you want to create?:

1   Nautical Almanac   (for a year)
2   Sun tables only    (for a year)
3   Nautical almanac   -  6 days from today
4   Sun tables only    - 30 days from today
5   "Increments and Corrections" tables (static data)

1 Please enter the desired year as yyyy ... or the FIRST and LAST year as yyyy-yyyy 2021 What table style is required?:

    t   Traditional
    m   Modern

m Be patient - this may take a while.

Creating the nautical almanac for the year 2021 Traceback (most recent call last): File "skyalmanac.py", line 211, in with open(f_prefix + fn + ".tex", mode="w", encoding="utf8") as outfile: FileNotFoundError: [Errno 2] No such file or directory: 'tmp/almanac_2021.tex'`

aendie commented 3 years ago

Hello Reza, I have no access to a PC currently, however I see a clue as what your problem is. The "tmp" folder is only used in the Docker version, not in the Windows version. The Docker version is a package that you can only run as a Docker image. To run Skyalmanac in Windows, please install the PyPI package with "pip install skyalmanac". As a technical note, the Docker code is activated with "dockerized = True" in config.py. (This must be False in the Windows version.) I hope this helps you. Mid next week I can use my PC. Regards, Andrew

reza-ghazi commented 3 years ago

I installed the PyPI version and ran the prog as you mentioned in the documentation, but I got the other error. The operation will not go through after reaching the specific line. Please see the following result, which I copied-Passed from the CMD. ` (base) G:\my_works>python -m skyalmanac Path to config.py: E:\anaconda3\Lib\site-packages\skyalmanac\lib\ Downloaded data in: E:\anaconda3\Lib\site-packages\skyalmanac\astro-data\

What do you want to create?:

1   Nautical Almanac   (for a year)
2   Sun tables only    (for a year)
3   Nautical almanac   -  6 days from today
4   Sun tables only    - 30 days from today
5   "Increments and Corrections" tables (static data)

1 Please enter the desired year as yyyy ... or the FIRST and LAST year as yyyy-yyyy 2021 What table style is required?:

    t   Traditional
    m   Modern

m Be patient - this may take a while.

Creating the nautical almanac for the year 2021

Jan .......... Feb ........ Mar ......... Apr ......... May .......... Jun ......... Jul ......... Aug ......... Sep ......... Oct .......... Nov ......... Dec ......... execution time = 135.92 seconds

This is pdfTeX, Version 3.141592653-2.6-1.40.23 (MiKTeX 21.7) entering extended mode (almanac_2021.tex LaTeX2e <2021-06-01> patch level 1 L3 programming layer <2021-07-12> (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/base\report.cls Document Class: report 2021/02/12 v1.4n Standard LaTeX document class (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/base\size10.clo)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\babel.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\babel.def (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\txtbabel.def))


(C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics-def\pdftex.def ) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/colortbl\colortbl.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/tools\array.sty))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/booktabs\booktabs.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/multirow\multirow.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\graphicx.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\graphics.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\trig.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics-cfg\graphics.c fg))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/frontendlayer\tikz. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/basiclayer\pgf.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgfrcs.st y (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -common.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -common-lists.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -latex.def) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfrcs. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf\pgf.revision.tex) )) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/basiclayer\pgfcore. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/systemlayer\pgfsys. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys .code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys filtered.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgf.c fg) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s-pdftex.def (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s-common-pdf.def))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy ssoftpath.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy sprotocol.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor e.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathcalc. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathutil. code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathparse r.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.basic.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.trigonometric.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.random.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.comparison.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.base.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.round.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.misc.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.integerarithmetics.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfloat .code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfint.code. tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epoints.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathconstruct.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathusage.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor escopes.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor egraphicstate.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor etransformations.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor equick.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eobjects.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathprocessing.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor earrows.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eshade.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eimage.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eexternal.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor elayers.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor etransparency.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epatterns.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor erdf.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule shapes.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule plot.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/compatibility\pgfco mp-version-0-65.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/compatibility\pgfco mp-version-1-18.sty)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgffor.st y (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgfkeys.s ty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys .code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/math\pgfmath.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgffor. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/frontendlayer/tik z\tikz.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/libraries\pgflibr aryplothandlers.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule matrix.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/frontendlayer/tik z/libraries\tikzlibrarytopaths.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/l3backend\l3backend-pdf tex.def) No file almanac_2021.aux. geometry driver: auto-detecting geometry detected driver: pdftex

(C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/context/base/mkii\supp-pdf.mk ii [Loading MPS to PDF converter (version 2006.09.02).] ) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/epstopdf-pkg\epstopdf-b ase.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/00miktex\epstopdf-sys.c fg)) ! Missing endcsname inserted.

unskip l.30 ...ges\\skyalmanac\\data\\A4chart0-180_P.pdf} \\[0.3cm] ?`
aendie commented 3 years ago

Thanks for your feedback. This looks much better, however I don't recall having such an error and I will try to reproduce the error on my PC mid next week. Thanks for your patience.

aendie commented 3 years ago

I had a quick chance to investigate this and discovered that it works with MiKTeX 21.3 but fails as in your example with MiKTeX 21.7 (the current version). I will see if I can make it work with current versions of MiKTeX, but in the meantime here's my run protocol for skyalmanac 1.3.1 with Python 3.9.4 and MiKTeX 21.3:

D:\_DEVpackaging\TEST skyalmanac_py3>python -m skyalmanac
[#################################] 100% finals2000A.all
 Path to config.py:  C:\Python39\Lib\site-packages\skyalmanac\lib\
 Downloaded data in: C:\Python39\Lib\site-packages\skyalmanac\astro-data\

What do you want to create?:

    1   Nautical Almanac   (for a year)
    2   Sun tables only    (for a year)
    3   Nautical almanac   -  6 days from today
    4   Sun tables only    - 30 days from today
    5   "Increments and Corrections" tables (static data)
1
Please enter the desired year
  as yyyy ... or the FIRST and LAST year as yyyy-yyyy
2021
What table style is required?:

        t   Traditional
        m   Modern
m
Be patient - this may take a while.

Creating the nautical almanac for the year 2021

Jan ..........
Feb ........
Mar .........
Apr .........
May ..........
Jun .........
Jul .........
Aug .........
Sep .........
Oct ..........
Nov .........
Dec .........
execution time = 130.98 seconds

This is pdfTeX, Version 3.141592653-2.6-1.40.22 (MiKTeX 21.3)
entering extended mode
(almanac_2021.tex
LaTeX2e <2020-10-01> patch level 4
L3 programming layer <2021-02-18>
(C:\Program Files\MiKTeX\tex/latex/base\report.cls
Document Class: report 2020/04/10 v1.4m Standard LaTeX document class
(C:\Program Files\MiKTeX\tex/latex/base\size10.clo))
(C:\Program Files\MiKTeX\tex/generic/babel\babel.sty
(C:\Program Files\MiKTeX\tex/generic/babel\babel.def
(C:\Program Files\MiKTeX\tex/generic/babel\txtbabel.def))
*************************************
* Local config file bblopts.cfg used
*
(C:\Program Files\MiKTeX\tex/latex/arabi\bblopts.cfg)
(C:\Program Files\MiKTeX\tex/latex/babel-english\english.ldf))
(C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty)
(C:\Program Files\MiKTeX\tex/latex/geometry\geometry.sty
(C:\Program Files\MiKTeX\tex/latex/graphics\keyval.sty)
(C:\Program Files\MiKTeX\tex/generic/iftex\ifvtex.sty
(C:\Program Files\MiKTeX\tex/generic/iftex\iftex.sty))
(C:\Program Files\MiKTeX\tex/latex/geometry\geometry.cfg))
(C:\Program Files\MiKTeX\tex/latex/xcolor\xcolor.sty
(C:\Program Files\MiKTeX\tex/latex/graphics-cfg\color.cfg)
(C:\Program Files\MiKTeX\tex/latex/graphics-def\pdftex.def)
(C:\Program Files\MiKTeX\tex/latex/colortbl\colortbl.sty
(C:\Program Files\MiKTeX\tex/latex/latex-tools\array.sty)))
(C:\Program Files\MiKTeX\tex/latex/booktabs\booktabs.sty)
(C:\Program Files\MiKTeX\tex/latex/multirow\multirow.sty)
(C:\Program Files\MiKTeX\tex/latex/graphics\graphicx.sty
(C:\Program Files\MiKTeX\tex/latex/graphics\graphics.sty
(C:\Program Files\MiKTeX\tex/latex/graphics\trig.sty)
(C:\Program Files\MiKTeX\tex/latex/graphics-cfg\graphics.cfg)))
(C:\Program Files\MiKTeX\tex/latex/pgf/frontendlayer\tikz.sty
(C:\Program Files\MiKTeX\tex/latex/pgf/basiclayer\pgf.sty
(C:\Program Files\MiKTeX\tex/latex/pgf/utilities\pgfrcs.sty
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfutil-common.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfutil-common-lists.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfutil-latex.def)
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfrcs.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf\pgf.revision.tex)))
(C:\Program Files\MiKTeX\tex/latex/pgf/basiclayer\pgfcore.sty
(C:\Program Files\MiKTeX\tex/latex/pgf/systemlayer\pgfsys.sty
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgfsys.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfkeys.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfkeysfiltered.code.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgf.cfg)
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgfsys-pdftex.def
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgfsys-common-pdf.def)))
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgfsyssoftpath.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/systemlayer\pgfsysprotocol.code.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcore.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmath.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathcalc.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathutil.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathparser.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.basic.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.trigonometric.co
de.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.random.code.tex)

(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.comparison.code.
tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.base.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.round.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.misc.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfunctions.integerarithmeti
cs.code.tex)))
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmathfloat.code.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfint.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorepoints.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorepathconstruct.code.t
ex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorepathusage.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorescopes.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoregraphicstate.code.te
x)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoretransformations.code
.tex) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorequick.code.tex
) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoreobjects.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorepathprocessing.code.
tex) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorearrows.code.tex
) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoreshade.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoreimage.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoreexternal.code.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorelayers.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcoretransparency.code.te
x) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorepatterns.code.tex
) (C:\Program Files\MiKTeX\tex/generic/pgf/basiclayer\pgfcorerdf.code.tex)))
(C:\Program Files\MiKTeX\tex/generic/pgf/modules\pgfmoduleshapes.code.tex)
(C:\Program Files\MiKTeX\tex/generic/pgf/modules\pgfmoduleplot.code.tex)
(C:\Program Files\MiKTeX\tex/latex/pgf/compatibility\pgfcomp-version-0-65.sty)
(C:\Program Files\MiKTeX\tex/latex/pgf/compatibility\pgfcomp-version-1-18.sty))
 (C:\Program Files\MiKTeX\tex/latex/pgf/utilities\pgffor.sty
(C:\Program Files\MiKTeX\tex/latex/pgf/utilities\pgfkeys.sty
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgfkeys.code.tex))
(C:\Program Files\MiKTeX\tex/latex/pgf/math\pgfmath.sty
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmath.code.tex))
(C:\Program Files\MiKTeX\tex/generic/pgf/utilities\pgffor.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/math\pgfmath.code.tex)))
(C:\Program Files\MiKTeX\tex/generic/pgf/frontendlayer/tikz\tikz.code.tex
(C:\Program Files\MiKTeX\tex/generic/pgf/libraries\pgflibraryplothandlers.code.
tex) (C:\Program Files\MiKTeX\tex/generic/pgf/modules\pgfmodulematrix.code.tex)

(C:\Program Files\MiKTeX\tex/generic/pgf/frontendlayer/tikz/libraries\tikzlibra
rytopaths.code.tex)))
(C:\Program Files\MiKTeX\tex/latex/l3backend\l3backend-pdftex.def)
No file almanac_2021.aux.
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
(C:\Program Files\MiKTeX\tex/context/base/mkii\supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
) (C:\Program Files\MiKTeX\tex/latex/epstopdf-pkg\epstopdf-base.sty
(C:\Program Files\MiKTeX\tex/latex/00miktex\epstopdf-sys.cfg)) [1{C:/Users/Andr
ew/AppData/Local/MiKTeX/pdftex/config/pdftex.map} <C:/Python39/Lib/site-package
s/skyalmanac/data/A4chart0-180_P.pdf> <C:/Python39/Lib/site-packages/skyalmanac
/data/A4chart180-360_P.pdf>] [2] [3 <C:/Python39/Lib/site-packages/skyalmanac/d
ata/croppedmoon.png>] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]
[16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30]
[31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45]
[46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60]
[61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75]
[76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]
[91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104]
[105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116]
[117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128]
[129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152]
[153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164]
[165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176]
[177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188]
[189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200]
[201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212]
[213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224]
[225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236]
[237] [238] [239] [240] [241] [242] [243] [244] [245] (almanac_2021.aux) )<C:/P
rogram Files/MiKTeX/fonts/type1/public/amsfonts/cmextra/cmbsy7.pfb><C:/Program
Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmbx10.pfb><C:/Program Files/MiKTeX
/fonts/type1/public/amsfonts/cm/cmbx12.pfb><C:/Program Files/MiKTeX/fonts/type1
/public/amsfonts/cm/cmbx8.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfo
nts/cm/cmcsc10.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi
7.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmr10.pfb><C:/Pro
gram Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmr12.pfb><C:/Program Files/Mi
KTeX/fonts/type1/public/amsfonts/cm/cmr5.pfb><C:/Program Files/MiKTeX/fonts/typ
e1/public/amsfonts/cm/cmr7.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsf
onts/cm/cmr8.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmr9.p
fb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmss10.pfb><C:/Progr
am Files/MiKTeX/fonts/type1/public/amsfonts/cm/cmss8.pfb><C:/Program Files/MiKT
eX/fonts/type1/public/amsfonts/cm/cmssbx10.pfb><C:/Program Files/MiKTeX/fonts/t
ype1/public/amsfonts/cm/cmsy5.pfb><C:/Program Files/MiKTeX/fonts/type1/public/a
msfonts/cm/cmsy7.pfb><C:/Program Files/MiKTeX/fonts/type1/public/amsfonts/cm/cm
ti12.pfb><C:/Program Files/MiKTeX/fonts/type1/urw/helvetic/uhvb8a.pfb>
Output written on almanac_2021.pdf (245 pages, 3536399 bytes).
Transcript written on almanac_2021.log.
finished creating nautical almanac for 2021

D:\_DEVpackaging\TEST skyalmanac_py3>

Thank you for reporting this! I was unaware that the current MiKTeX version crashes on the LaTeX code I generate.

reza-ghazi commented 3 years ago

Thank you for the reply. I am looking for your work on the new version of MiKTeX. Please inform me whenever you fixed the issue. Best regards,

aendie commented 3 years ago

Progress at last! MiKTeX support closed my issue within minutes without any mention of it being a MiKTeX issue (although it previously worked). I switched to the TeX support forum in StackExchange, by which time I had discovered that the problem lies when using a backslash (entered as "\\") in Windows paths. Linux uses "/" in paths. Thankfully the TeX/LaTeX experts responded saying that the path separator in LaTeX is "/" and this clearly applies to all operating systems. So I will now begin to change all my code to using "/" in absolute path names.

The other problem you had - the FileNotFoundError - is my fault entirely (and thanks for reporting it). I unintentionally posted the wrong config.py with dockerized = True in line 35. I will also fix this soon and I apologize for the trouble it caused you.

Please wait for me to make the changes and test them. I will begin with Skyalmanac and respond here when it's ready.

aendie commented 3 years ago

Skyalmanac is fixed now. The PyPI versions ("pip install skyalmanac") had the issue with MiKTeX path names. Go ahead and try it either with pip uninstall skyalmanac then pip install skyalmanac or via pip install --upgrade skyalmanac.

I now start fixing the same problem in the PyPI versions of Pyalmanac and SFalmanac ...

aendie commented 3 years ago

I believe I have now fixed all PyPI versions:

I encourage you to try sfalmanac (Skyfield Nautical Almanac), which is the most advanced of the three. It has an extra table type and it uses multiprocessing, so it is faster if you have a CPU with multiple cores. (It can also run in single-processing mode if you set MULTIpr = False in config.py.)

reza-ghazi commented 3 years ago

Hello, Aendie Thank you for your precise and reliable response. Your behaviour shows you are a professional. I installed the new version, and the application works very well without any problem. I copied-passed the latest result that I get to make you sure that the code works on my side too for your concern. Thanks again ` (base) G:\my_works>python -m skyalmanac Path to config.py: E:\anaconda3\Lib\site-packages\skyalmanac\lib\ Downloaded data in: E:\anaconda3\Lib\site-packages\skyalmanac\astro-data\

What do you want to create?:

1   Nautical Almanac   (for a year)
2   Sun tables only    (for a year)
3   Nautical almanac   -  6 days from today
4   Sun tables only    - 30 days from today
5   "Increments and Corrections" tables (static data)

1 Please enter the desired year as yyyy ... or the FIRST and LAST year as yyyy-yyyy 2021 What table style is required?:

    t   Traditional
    m   Modern

m Be patient - this may take a while.

Creating the nautical almanac for the year 2021

Jan .......... Feb ........ Mar ......... Apr ......... May .......... Jun ......... Jul ......... Aug ......... Sep ......... Oct .......... Nov ......... Dec ......... execution time = 150.34 seconds

This is pdfTeX, Version 3.141592653-2.6-1.40.23 (MiKTeX 21.7) entering extended mode (almanac_2021.tex LaTeX2e <2021-06-01> patch level 1 L3 programming layer <2021-07-12> (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/base\report.cls Document Class: report 2021/02/12 v1.4n Standard LaTeX document class (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/base\size10.clo)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\babel.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\babel.def (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/babel\txtbabel.def))


(C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics-def\pdftex.def ) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/colortbl\colortbl.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/tools\array.sty))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/booktabs\booktabs.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/multirow\multirow.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\graphicx.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\graphics.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics\trig.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/graphics-cfg\graphics.c fg))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/frontendlayer\tikz. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/basiclayer\pgf.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgfrcs.st y (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -common.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -common-lists.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfutil -latex.def) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfrcs. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf\pgf.revision.tex) )) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/basiclayer\pgfcore. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/systemlayer\pgfsys. sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys .code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys filtered.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgf.c fg) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s-pdftex.def (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy s-common-pdf.def))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy ssoftpath.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/systemlayer\pgfsy sprotocol.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor e.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathcalc. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathutil. code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathparse r.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.basic.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.trigonometric.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.random.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.comparison.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.base.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.round.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.misc.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfunct ions.integerarithmetics.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmathfloat .code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfint.code. tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epoints.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathconstruct.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathusage.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor escopes.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor egraphicstate.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor etransformations.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor equick.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eobjects.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epathprocessing.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor earrows.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eshade.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eimage.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor eexternal.code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor elayers.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor etransparency.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor epatterns.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/basiclayer\pgfcor erdf.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule shapes.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule plot.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/compatibility\pgfco mp-version-0-65.sty) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/compatibility\pgfco mp-version-1-18.sty)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgffor.st y (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/utilities\pgfkeys.s ty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgfkeys .code.tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/pgf/math\pgfmath.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex)) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/utilities\pgffor. code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/math\pgfmath.code .tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/frontendlayer/tik z\tikz.code.tex (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/libraries\pgflibr aryplothandlers.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/modules\pgfmodule matrix.code.tex) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/generic/pgf/frontendlayer/tik z/libraries\tikzlibrarytopaths.code.tex))) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/l3backend\l3backend-pdf tex.def) (almanac_2021.aux) geometry driver: auto-detecting geometry detected driver: pdftex

(C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/context/base/mkii\supp-pdf.mk ii [Loading MPS to PDF converter (version 2006.09.02).] ) (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/epstopdf-pkg\epstopdf-b ase.sty (C:\Users\itpro\AppData\Local\Programs\MiKTeX\tex/latex/00miktex\epstopdf-sys.c fg)) [1{C:/Users/itpro/AppData/Local/MiKTeX/pdftex/config/pdftex.map} <E:/anaco nda3/Lib/site-packages/skyalmanac/data/A4chart0-180_P.pdf> <E:/anaconda3/Lib/si te-packages/skyalmanac/data/A4chart180-360_P.pdf>] [2] [3 <E:/anaconda3/Lib/sit e-packages/skyalmanac/data/croppedmoon.png>] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] (almanac_2021.aux) )<C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/t ype1/public/amsfonts/cmextra/cmbsy7.pfb><C:/Users/itpro/AppData/Local/Programs/ MiKTeX/fonts/type1/public/amsfonts/cm/cmbx10.pfb><C:/Users/itpro/AppData/Local/ Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmbx12.pfb><C:/Users/itpro/AppDa ta/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmbx8.pfb><C:/Users/itp ro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmcsc10.pfb><C: /Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmmi7 .pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/ cm/cmr10.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/a msfonts/cm/cmr12.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/ public/amsfonts/cm/cmr5.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts /type1/public/amsfonts/cm/cmr7.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTe X/fonts/type1/public/amsfonts/cm/cmr8.pfb><C:/Users/itpro/AppData/Local/Program s/MiKTeX/fonts/type1/public/amsfonts/cm/cmr9.pfb><C:/Users/itpro/AppData/Local/ Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmss10.pfb><C:/Users/itpro/AppDa ta/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmss8.pfb><C:/Users/itp ro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmssbx10.pfb><C :/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts/cm/cmsy 5.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/amsfonts /cm/cmsy7.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type1/public/ amsfonts/cm/cmti12.pfb><C:/Users/itpro/AppData/Local/Programs/MiKTeX/fonts/type 1/urw/helvetic/uhvb8a.pfb> Output written on almanac_2021.pdf (245 pages, 3547834 bytes). Transcript written on almanac_2021.log. finished creating nautical almanac for 2021

(base) G:\my_works>`

reza-ghazi commented 3 years ago

If you don't mind, please see my following suggestions for your excellent work:

  1. If you can hide extra lines in cmd while generating an almanac, I mean all the lines which start with "This is pdfTeX..." and save them in a log file and only show something "Please wait ..." then display the result, it would be cleaner, and more encapsulated.
  2. Does your app check a new finals2000A.all every time it starts to provide the latest version? If not, how do you update the Delta-T?
  3. As you know, DE421 is getting old (of course, not too old for the accuracy of a Nautical Almanac), but it would be better to use DE430 instead. I know one reason is the file size, but your application downloads the file one time, and for the current computers, a couple of MBs more is not a deal. (de421.bsp = 16395 KB and de430t.bsp = 130716 KB)
  4. After running the program, we can choose which type of Almanac we want, but the generated Almanacs' names do not match precisely. For example, if we decide on the modern style for 2021, the file will be almanac_2021.pdf, and if we choose the traditional type, the file will be almanac2021.pdf. The name of these files can be modna_2021.pdf and tradna_2021.pdf as an example.

Best regards,

aendie commented 3 years ago

Hello Reza,

Thanks for your response. All your suggestions are good!

But first ... the following lines in config.py specify what you can easily change (these are the default values):

image

So I can easily add new ephemerides, e.g. de430t or even the latest de440. JPL ephemeris files in Skyfield are explained here: https://rhodesmill.org/skyfield/planets.html#choosing-an-ephemeris

You also see that by default finals2000A.all is checked 30 days after it was downloaded. Since this file is renewed weekly on the IERS site, it would not make much sense to set ageIERS = 1 as it would download the same version on 6 out of 7 days each week. You see, Skyfield only looks how old the downloaded file is - it does not look inside the file and the IERS site uses the same filename without indicating the date it was published. So I guess ageIERS = 7 would be a reasonable minimum: you would never be using data that is more than 2 weeks old. Brandon Rhodes chose 30 as a reasonable value, by the way.

History in Brief

I initially took over Pyalmanac from Enno Rodegerdts (and he gave me permission to update his Pyalmanac GitHub site). Then Skyfield was released and Ephem (or Pyephem) was put into "maintenance mode". So I didn't put any new work into Pyalmanac. I began work on SFalmanac, which was terribly slow ... so I created Skyalmanac as a hybrid version (using Ephem and Skyfield) to avoid the slow almanac.find_discrete() method. However, now that I have a multiprocessing (= faster) included in SFalmanac, I would like to drop support for Skyalmanac.

Would you be willing to switch to SFalmanac? (I don't really want to make enhancements in Skyalmanac + SFalmanac.) If so, let me know if it works well for you: https://pypi.org/project/sfalmanac/

reza-ghazi commented 3 years ago

You are an amazing man. 👍 First, let me tell you, I like your idea about choosing the ephemeris data file. It is convenient, as you explained.

But can you make it dynamic, which we can change by our priorities?

And of course, I can shift to sfalmanac. You can go ahead and retire pyalmanac and skyalmanac as you wish.

given_datetime = datetime(125, 11, 25, 15, 35, 40)
print(given_datetime)
# result --> 0125-11-25 15:35:40
new_datetime = given_datetime + timedelta(weeks=45, days=5000, hours=2400, seconds=5000)
print("{:%Y/%m/%d %H:%M:%S}".format(new_datetime))
# result -> 0140/09/22 16:59:00

And, last but not least, by adding more accuracy and more options and some extra tables in sfalmanac you can build an Astronomical Almanac too, which you can release new versions and updates over time after build. It will be a good idea if you choose this pathway. Although I understand, maybe it is not your goal. But with the excellent job that you did, It would be significantly more straightforward for you.

Thank you again for your effort,

aendie commented 3 years ago

Hello, I am implementing your 4 suggestions initially in skyalmanac (as it's less complicated than sfalmanac). Now, by default, the console output will contain no unreadable blurb, and if a LaTeX error occurs: no PDF is produced and the console informs you to append '-v' (verbose) or '-log' (keep the log file) to the run command. That's miles better. I needed to pick pdfTeX options that are valid for MiKTeX and TeX Live (e.g. "-quiet" only works in MiKTeX, and we don't want that).

I added de430t.bsp and de440.bsp and extended the year ranges somewhat (years begin with 1000 in de406.bsp as years are entered with four digits ... I don't want to hack that code further just now) . Interesting to note that "MARS" is renamed (enhanced) to "MARS BARYCENTER" in de430t.bsp and de440.bsp.

Note that the Nautical Almanacs are actually published on https://www.thenauticalalmanac.com/ so I'm cautious in making extensions. "Johannes" tampers with them a bit in Linux so that the moon image appears black and white (I used a real picture of the moon to make it more life-like). Johannes also requested adding the moon phase image in the first place.

I'm delighted that my first well-known sailors now read my email advertising my programs. (They bought a dog, "Captain Oso", instead of investing in a sextant.) Follow them on https://www.youtube.com/user/ProjectAtticus

Watch out for Skyalmanac 1.3.4 which will be my next incremental update. (SFalmanac will follow!)

As I principally focus on what sailors require, what's next in the pipeline is "Lunar Distance". This is an ancient art: https://en.wikipedia.org/wiki/Lunar_distance_(navigation)

https://www.cambridge.org/core/journals/journal-of-navigation/article/gmt-and-longitude-by-lunar-distance-two-methods-compared-from-a-practitioners-point-of-view/264D429197D6182A7D04193FD95FDD7E

A great paper on the history of Lunar Distance: https://arxiv.org/pdf/2007.14504

One astronomer that uses Skyfield has implemented it very well on his website: http://www.celestialnavigation.nl/

Kind Regards!

reza-ghazi commented 3 years ago

Thank you for more information, and I am looking for new versions soon.

Have a nice coding. Best,