Skip to main content

('Draws nightsky allskymaps',)

Project description

nsb (Night Sky Backgound)


Draws nightsky allskymaps corresponding to KRISCIUNAS Model of the Brightness of Moonlight together with star data obtained from the GAIA public data release catalog. The result is a 2D Pixel array with physical brightness values for each sky position.

Or estimate the brightness for a given source over a timespann. The GAIA Data will we automatically downloaded via an query to the corresponding ESA server. The User has just decide how much to get. For calling sources 'by name' and storing their positions, nsb includes a sub packages 'mypycat'. Therefore a catalog is needed, which is not provided. Only a dummy file will be created and the user is free to add any source coordinates to ~/.nsb/mypycat.txt

Usage as commandline tool

python -m nsb [--OPTIONS] [--FLAGS]
python -m --help

--h --help prints this help message

--create CONFIGFILE
   writes a standard value configfile


OPTIONS:
(can all be set in config)

--use CONFIGFILE:
   use a dedicated (non standard) configfile
--t1 --time DATETIME:
   time and date for which the map should be drawn
   format: 2010/12/24 23:59:59
--t2 --time_end DATETIME:
   needed for plots over a timestamp like --trend and --maxnsb
   format: 2010/12/24 23:59:59
--o --output /OUTPUT/DIRECTORY/
   for saving results in different place than working directory
   filenames will be generated automatically
--s --size IMAGESIZE:
   set the output Imagesize in Pixels
--altaz ALT AZ:
   set the observation position in the sky manually (unit: degrees)
--q --source SOURCENAME:
   set the observation position automatically on a source by name
   i.e.: "crab", "moon"
--l --location LOCATION:
   The observers coordinates (Lon Lat) on earth and elevation (unit: degrees and meters)
   format: 16.5028 -23.27280 1800.0
--hp LEVEL:
   HealPix Level for the gaia catalog to be plotted
   Integer in range [1:12]
--g --gauss KERNELSIZE:
   Gaussian Kernel in pixel to smoothen the model images
   format: 1.5


FLAGS:
(to steer programs the behaviour)

--verbose
   Do verbose printouts
--mhz
   use the new and still EXPERIMENTAL model to output MHz instead of nLb
--skymap
   create the skymap and show it on screen
--savefits
   save the Sky-Brightness Map as *.fits file
--maxnsb VALUE
   creates a plot of nsb vs. gained observation time.
   data points are additionally printed to console with --verbose.
   (NEEDS a --time_end, typically more than a year to be not influenced by the Seasons)
   format: 100.0
--trend
   creates a time trend plot of nsb and source position over the given timespan
   (NEEDS a --time_end)
   Source, Sun and Moon Setting/Rising times are printed to console with --verbose

Use it as a library

see the following examples:

Creating Allsky and field-of-view maps, showing them on screen and saving them into FITS

from nsb import config
from nsb.model import nsbModel
from nsb.mypycat import mypycat
from nsb.gaia import Gaia
from nsb.nsbtools import makeDateString, plotMaps
import ephem
import matplotlib.pyplot as plt
import astropy.io.fits as pyfits

con = config.TheConfiguration()
con.readStandardConfig()
# or read a custom config
# con.readConfig("my_config.cfg")

#time_and_date = makeDateString("today now")
time_and_date = ephem.Date("2019-01-26 21:29:07")

mpc = mypycat()
source = mpc.get("Crab Pulsar")

gaiamap = Gaia(level=10)
model = nsbModel(con, gaiamap, time_and_date, use_mhz=True)

# draw what you want
model.drawAllSky(size=800)
model.drawFOV_source(source=source, fov=5.0, size=1000)
# model.drawFOV_altaz(alt=30, az=213, fov=5.0, size=42)

# show the results on screen
plotMaps(model.allskymap.data, 'Allskymaps for %s' % (model.observer_source.date))
plotMaps(model.fovmap.data, 'FOV for %s' % (model.observer_source.date))
plt.show()

# save fits files
hdul = pyfits.HDUList([model.allskymap, model.fovmap])
hdul.writeto("NSB_of_"+ makeDateString(time_and_date) + "_.fits", 'exception', True)

Or get all kind of values like brightness, Alt, Az, Phase, etc. over a timespan

from nsb import config
from nsb.model import nsbModel
from nsb.mypycat import mypycat
from nsb.gaia import Gaia
from nsb.nsbtools import plotTimespan
import ephem

con = config.TheConfiguration()
con.readStandardConfig()

time_and_date_1 = ephem.Date("2019/05/10 12:00:00")
time_and_date_2 = time_and_date_1 + 1.0  # plus one day (24h)

mpc = mypycat()
source = mpc.get("Eta Carinae")

gaiamap = Gaia(level=7)
model = nsbModel(con, gaiamap, time_and_date_1, time_and_date_2, threshold=400, timeresolution=15, verbose=False)
model.setSource(source=source)
model.calculateTimespan()

# now these arrays are available and filled
t = model.timestamps
b = model.bright
mp = model.moonphase
malt = model.moonalt
salt = model.sourcealt
maz = model.moonaz
saz = model.sourceaz
sunalt = model.sunalt
sunaz = model.sunaz
sep = model.separation

# TODO: anything you like with these values

# the plot from the --trend cmdline tool
plotTimespan(model)

If there are questions, feel free to contact me:

matthias.buechele[at]fau[dot]de

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nsb-0.4.6.tar.gz (44.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nsb-0.4.6-py3-none-any.whl (58.2 kB view details)

Uploaded Python 3

File details

Details for the file nsb-0.4.6.tar.gz.

File metadata

  • Download URL: nsb-0.4.6.tar.gz
  • Upload date:
  • Size: 44.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.2

File hashes

Hashes for nsb-0.4.6.tar.gz
Algorithm Hash digest
SHA256 0766f54e7aa16b5d6d3589bb7bd743188a80e71dafd52ce3e2fa5e007442fb0a
MD5 a09e8fddb9100ccce119057a2666506c
BLAKE2b-256 ca085440e550590b6a8670c72c758c3609418b9e08ee067fc93ca46a9e15e7d1

See more details on using hashes here.

File details

Details for the file nsb-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: nsb-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 58.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.5.2

File hashes

Hashes for nsb-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bbca60d166e94b8f6f4bddad8ce4fae3a90d5be39bcfbb00b20b85c559b06508
MD5 c2d1570a4089c866f3efce710c78c2ec
BLAKE2b-256 16ee8cd26ca312d658a8e8a78e6f677791551f96e572572bafeeb02b5e52c098

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page