aboutsummaryrefslogtreecommitdiffstats
path: root/bin/hpx2healpix
diff options
context:
space:
mode:
authorAaron LI <aaronly.me@outlook.com>2016-09-29 18:54:34 +0800
committerAaron LI <aaronly.me@outlook.com>2016-09-29 18:54:34 +0800
commit8d9339d501162583232ddc16ddab48bd55349069 (patch)
tree0ad76e3860c9fb2bf2c0f2565acc2ab4b9e0b774 /bin/hpx2healpix
parent639a09bdf5c7580da96438bb282a1ddf1c8539a8 (diff)
downloadfg21sim-8d9339d501162583232ddc16ddab48bd55349069.tar.bz2
Add logging support for "healpix2hpx" & "hpx2healpix"
* Argument "--log" control the log level * Argument "--logfile" to log the messages to file * Argument "--quiet" to disable logging messages to screen
Diffstat (limited to 'bin/hpx2healpix')
-rwxr-xr-xbin/hpx2healpix30
1 files changed, 27 insertions, 3 deletions
diff --git a/bin/hpx2healpix b/bin/hpx2healpix
index 6f83426..c9a916c 100755
--- a/bin/hpx2healpix
+++ b/bin/hpx2healpix
@@ -11,12 +11,14 @@ i.e., the reverse of `healpix2hpx.py`.
import os
import sys
import argparse
+import logging
import numpy as np
from astropy.io import fits
import fg21sim
-from fg21sim.utils import hpx2healpix
+from fg21sim.configs import configs
+from fg21sim.utils import hpx2healpix, setup_logging
# Reference:
@@ -39,16 +41,36 @@ def main():
help="overwrite the existing output file")
parser.add_argument("-F", "--float", action="store_true",
help="use float (single precision) instead of double")
+ parser.add_argument("-l", "--log", dest="loglevel", default=None,
+ help="log level (valid values: "
+ "DEBUG, INFO, WARNING, ERROR, CRITICAL)")
+ parser.add_argument("-L", "--logfile", default=None,
+ help="filename where to save the log messages")
+ parser.add_argument("-Q", "--quiet", action="store_true",
+ help="be quiet so do not log messages to screen")
args = parser.parse_args()
+ if args.quiet:
+ log_stream = ""
+ else:
+ log_stream = None
+
tool = os.path.basename(sys.argv[0])
+ pkgname = fg21sim.__pkgname__
+
+ setup_logging(dict_config=configs.logging,
+ level=args.loglevel,
+ stream=log_stream,
+ logfile=args.logfile)
+ logger = logging.getLogger(tool)
+ logger.info("COMMAND: {0}".format(" ".join(sys.argv)))
+
history = [
"TOOL: {0}".format(tool),
"PARAM: {0}".format(" ".join(sys.argv[1:])),
]
comments = [
- 'Tool "{0}" is part of the "{1}" package'.format(tool,
- fg21sim.__title__),
+ 'Tool "{0}" is part of the "{1}" package'.format(tool, pkgname),
'distributed under {0} license.'.format(fg21sim.__license__),
'See also {0}'.format(fg21sim.__url__)
]
@@ -57,12 +79,14 @@ def main():
append_history=history,
append_comment=comments)
if args.float:
+ logger.info("HEALPix data: use single-precision float numbers")
hp_data = hp_data.astype(np.float32)
hdu = fits.BinTableHDU.from_columns([
fits.Column(name="I", array=hp_data,
format=FITS_COLUMN_FORMATS.get(hp_data.dtype))
], header=hp_header)
hdu.writeto(args.outfile, clobber=args.clobber, checksum=True)
+ logger.info("HEALPix data write to FITS file: %s" % args.outfile)
if __name__ == "__main__":