The observer added to the model

> observer := (long,lat) -> display([rotate(polygonplot3d([[0,0,0],
[0,0,.5]],color=magenta),0,lat*Pi/180,long*Pi/180),
rotate(spacecurve([cos(t),sin(t),0 ,t=0..2*Pi],color=tan) ,0,lat*Pi/180,long*Pi/180)]):

> curobs := (day,hour,long,lat) -> display([current(day,hour),observer(long,lat)],scaling=constrained,
orientation=[0,81]);

[Maple Math]
[Maple Math]

> curobs(23,8,83,45);