Problem Installing weewx-skymap-almanac

60 views
Skip to first unread message

Sean Curry

unread,
Dec 23, 2025, 11:47:38 AM (2 days ago) Dec 23
to weewx-user
I've seen some recent discussion of the skymap extension to weewx, and it looks really interesting. However, I can't seem to get it installed correctly. Running weewx 5.2 on a Mac Studio for a while now, with no problems, and uploading data to PWS and an FTP site also with no problems until now.

I installed skymap according to the instructions on the roe-dl github, and installation seemed to work. I added the following to my weewx.conf as a test, copied from the github:

[Almanac]
    [[Skyfield]]
        enable = true
        ephemeris = de440.bsp
        use_builtin_timescale = false
        timescale_url = https://datacenter.iers.org/products/eop/rapid/standard/finals2000A.all, ftps://gdc.cddis.eosdis.nasa.gov/products/iers/finals.all

However, I get the following errors when I try to tun a Standard Seasons Report:

2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Initializing weectl version 5.2.0
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Command line: /Library/Frameworks/Python.framework/Versions/3.13/bin/weectl report run SeasonsReport
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Using Python: 3.13.5 (v3.13.5:6cb20a219a8, Jun 11 2025, 12:23:45) [Clang 16.0.0 (clang-1600.0.26.6)]
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Located at:   /Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Platform:     macOS-15.5-arm64-arm-64bit-Mach-O
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Locale:       'en_US.UTF-8'
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Entry path:   /Library/Frameworks/Python.framework/Versions/3.13/bin/weectl
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: WEEWX_ROOT:   /Users/seancurry2/weewx-data
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Config file:  /Users/seancurry2/weewx-data/weewx.conf
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: User module:  /Users/seancurry2/weewx-data/bin/user
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Debug:        0
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: User:         root
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Group:        wheel
2025-12-23 08:41:40 weectl[65919]: INFO weectllib: Groups:       wheel daemon kmem sys tty operator procview procmod everyone staff certusers localaccounts admin com.apple.sharepoint.group.1 _appstore _lpadmin _lpoperator _developer _analyticsusers com.apple.access_ftp com.apple.access_screensharing-disabled com.apple.access_ssh com.apple.access_remote_ae
2025-12-23 08:41:40 weectl[65919]: INFO weewx.engine: StdConvert target unit is 0x1
2025-12-23 08:41:40 weectl[65919]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
2025-12-23 08:41:40 weectl[65919]: INFO weewx.engine: Archive will use data binding wx_binding
2025-12-23 08:41:40 weectl[65919]: INFO weewx.engine: Record generation will be attempted in 'hardware'
2025-12-23 08:41:40 weectl[65919]: INFO weewx.engine: Using archive interval of 300 seconds (specified by hardware)
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: StationRegistry: No config info. Skipped.
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: Wunderground: No config info. Skipped.
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: PWSWeather: Data for station KORTALEN1 will be posted
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: CWOP: No config info. Skipped.
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: WOW: No config info. Skipped.
2025-12-23 08:41:40 weectl[65919]: INFO weewx.restx: AWEKAS: No config info. Skipped.
2025-12-23 08:41:40 weectl[65919]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
2025-12-23 08:41:40 weectl[65919]: ERROR weewx.cheetahgenerator: Evaluation of template /Users/seancurry2/weewx-data/skins/Seasons/index.html.tmpl failed.
2025-12-23 08:41:40 weectl[65919]: ERROR weewx.cheetahgenerator: **** Ignoring template /Users/seancurry2/weewx-data/skins/Seasons/index.html.tmpl
2025-12-23 08:41:40 weectl[65919]: ERROR weewx.cheetahgenerator: **** Reason: cannot find 'sun'
2025-12-23 08:41:40 weectl[65919]: ERROR weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher Echo' at top of template
2025-12-23 08:41:41 weectl[65919]: ERROR weewx.cheetahgenerator: Evaluation of template /Users/seancurry2/weewx-data/skins/Seasons/celestial.html.tmpl failed.
2025-12-23 08:41:41 weectl[65919]: ERROR weewx.cheetahgenerator: **** Ignoring template /Users/seancurry2/weewx-data/skins/Seasons/celestial.html.tmpl
2025-12-23 08:41:41 weectl[65919]: ERROR weewx.cheetahgenerator: **** Reason: cannot find 'sun'
2025-12-23 08:41:41 weectl[65919]: ERROR weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher Echo' at top of template
2025-12-23 08:41:41 weectl[65919]: INFO weewx.cheetahgenerator: Generated 6 files for report SeasonsReport in 0.12 seconds
2025-12-23 08:41:41 weectl[65919]: INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.06 seconds
2025-12-23 08:41:41 weectl[65919]: INFO weewx.reportengine: Copied 5 files to /Users/seancurry2/Library/CloudStorage/Dropbox/Weather

The "cannot find 'sun'" errors seem to be related to weewx not finding the almanac module? If I disable the skyfield entry in my weewx.conf, everything runs fine.

Any help would be appreciated. I'm a bit of a newby here, so not sure where I should be looking.

Sean

Karen K

unread,
Dec 23, 2025, 12:20:49 PM (2 days ago) Dec 23
to weewx-user
Is the Seasons skin unchanged? 
Could you set debug=1 in weewx.conf, restart WeeWX and then post the log again?

Karen K

unread,
Dec 23, 2025, 12:40:17 PM (2 days ago) Dec 23
to weewx-user
May be you need some patience. I am missing the message, that de440.bsp was successfully downloaded. That can take a while. 

Sean Curry

unread,
Dec 23, 2025, 1:13:41 PM (2 days ago) Dec 23
to weewx-user
Hi Karen,

The Seasons skin should be unchanged, unless the install process modified it?

Here's a new log with Debug = 1

2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Initializing weectl version 5.2.0
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Command line: /Library/Frameworks/Python.framework/Versions/3.13/bin/weectl report run SeasonsReport
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Using Python: 3.13.5 (v3.13.5:6cb20a219a8, Jun 11 2025, 12:23:45) [Clang 16.0.0 (clang-1600.0.26.6)]
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Located at:   /Library/Frameworks/Python.framework/Versions/3.13/bin/python3.13
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Platform:     macOS-15.5-arm64-arm-64bit-Mach-O
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Locale:       'en_US.UTF-8'
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Entry path:   /Library/Frameworks/Python.framework/Versions/3.13/bin/weectl
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: WEEWX_ROOT:   /Users/seancurry2/weewx-data
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Config file:  /Users/seancurry2/weewx-data/weewx.conf
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: User module:  /Users/seancurry2/weewx-data/bin/user
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Debug:        1
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: User:         root
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Group:        wheel
2025-12-23 10:11:22 weectl[83287]: INFO weectllib: Groups:       wheel daemon kmem sys tty operator procview procmod everyone staff certusers localaccounts admin com.apple.sharepoint.group.1 _appstore _lpadmin _lpoperator _developer _analyticsusers com.apple.access_ftp com.apple.access_screensharing-disabled com.apple.access_ssh com.apple.access_remote_ae
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service user.skymapalmanac.SkymapService
2025-12-23 10:11:22 weectl[83287]: DEBUG user.skymapalmanac: languages used in this WeeWX instance: set()
2025-12-23 10:11:22 weectl[83287]: DEBUG user.skymapalmanac: successfully parsed 88 lines of constellationship.fab
2025-12-23 10:11:22 weectl[83287]: DEBUG user.skymapalmanac: SkymapService started
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service user.skymapalmanac.SkymapService
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdConvert
2025-12-23 10:11:22 weectl[83287]: INFO weewx.engine: StdConvert target unit is 0x1
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdQC
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
2025-12-23 10:11:22 weectl[83287]: INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdArchive
2025-12-23 10:11:22 weectl[83287]: INFO weewx.engine: Archive will use data binding wx_binding
2025-12-23 10:11:22 weectl[83287]: INFO weewx.engine: Record generation will be attempted in 'hardware'
2025-12-23 10:11:22 weectl[83287]: INFO weewx.engine: Using archive interval of 300 seconds (specified by hardware)
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: StationRegistry: No config info. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdWunderground
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: Wunderground: No config info. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: PWSWeather: Data for station KORTALEN1 will be posted
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdCWOP
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: CWOP: No config info. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdWOW
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: WOW: No config info. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS
2025-12-23 10:11:22 weectl[83287]: INFO weewx.restx: AWEKAS: No config info. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdPrint
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Loading service weewx.engine.StdReport
2025-12-23 10:11:22 weectl[83287]: INFO weewx.engine: 'pyephem' detected, extended almanac data is available
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.reportengine: Running reports for time 2025-12-23 10:10:00 PST (1766513400)
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.reportengine: Running report 'SeasonsReport'
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.reportengine: Found configuration file /Users/seancurry2/weewx-data/skins/Seasons/skin.conf for report 'SeasonsReport'
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.reportengine: Running generators for report 'SeasonsReport' in directory '/Users/seancurry2/weewx-data/skins/Seasons' with locale 'en_US.UTF-8'
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo']
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: Evaluation of template /Users/seancurry2/weewx-data/skins/Seasons/index.html.tmpl failed.
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** Ignoring template /Users/seancurry2/weewx-data/skins/Seasons/index.html.tmpl
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** Reason: cannot find 'sun'
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher Echo' at top of template
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: Evaluation of template /Users/seancurry2/weewx-data/skins/Seasons/celestial.html.tmpl failed.
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** Ignoring template /Users/seancurry2/weewx-data/skins/Seasons/celestial.html.tmpl
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** Reason: cannot find 'sun'
2025-12-23 10:11:22 weectl[83287]: ERROR weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher Echo' at top of template
2025-12-23 10:11:22 weectl[83287]: INFO weewx.cheetahgenerator: Generated 6 files for report SeasonsReport in 0.12 seconds
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.manager: Daily summary version is 4.0
2025-12-23 10:11:22 weectl[83287]: INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 0.06 seconds
2025-12-23 10:11:22 weectl[83287]: INFO weewx.reportengine: Copied 5 files to /Users/seancurry2/Library/CloudStorage/Dropbox/Weather
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.reportengine: ftpgenerator: FTP upload not requested. Skipped.
2025-12-23 10:11:22 weectl[83287]: DEBUG weewx.restx: Shut down PWSWeather thread.

Sean Curry

unread,
Dec 23, 2025, 1:14:32 PM (2 days ago) Dec 23
to weewx-user
I hadn't thought about that - how big is that file and where will it be saved once downloaded?

Thanks! Sean

Karen K

unread,
Dec 23, 2025, 1:25:31 PM (2 days ago) Dec 23
to weewx-user
Sean Curry schrieb am Dienstag, 23. Dezember 2025 um 19:14:32 UTC+1:
I hadn't thought about that - how big is that file and where will it be saved once downloaded?

The extension creates a subdirectory skyfield in the database directory (SQLITE_ROOT) . That is the directory where weewx.sdb is stored. The file de440.bsp is saved to that subdirectory.

There is no message that user.skyfieldalmanac is loaded. weewx-skymap-almanac requires weewx-skyfield-almanac. Please check the installation of weewx-skyfield-almanac.

Sean Curry

unread,
Dec 23, 2025, 1:37:17 PM (2 days ago) Dec 23
to weewx-user


Here's a screenshot of my weewx-data/bin/user folder - note that skyfieldalmanac.py is a symbolic link to skymapalmanac.py - is this correct?

Screenshot 2025-12-23 at 10.32.16 AM.png



Karen K

unread,
Dec 23, 2025, 1:48:28 PM (2 days ago) Dec 23
to weewx-user
Sean Curry schrieb am Dienstag, 23. Dezember 2025 um 19:37:17 UTC+1:
note that skyfieldalmanac.py is a symbolic link to skymapalmanac.py - is this correct?
 
No. 

I have no idea how that can happen. You have to install both weewx-skyfield-almanac and weewx-skymap-almanac. Please remove the symbolic link first before re-installation the extensions.

Sean Curry

unread,
Dec 23, 2025, 3:05:34 PM (2 days ago) Dec 23
to weewx-user
Success - thanks Karen, I appreciate your help. I didn't understand that I needed to install skyfield separately from skymap. I misunderstood a reference somewhere to "pip install skyfield", and thought that would take care of it. I don't know where the symbolic link came from...

Anyhow, working now, and I will start to explore all the options. This is a great extension.

Sean

Reply all
Reply to author
Forward
0 new messages