Commit 7c696c1b authored by Gregory Ashton's avatar Gregory Ashton

Merge branch 'find-ephems' into 'master'

ephemerides finding improvement

See merge request GregAshton/PyFstat!18
parents 30d6aaa1 68b4cddc
...@@ -97,8 +97,11 @@ the module will be installed to whichever python executable you call it from. ...@@ -97,8 +97,11 @@ the module will be installed to whichever python executable you call it from.
### Ephemeris installation ### Ephemeris installation
The scripts require a path to ephemeris files in order to use the The scripts require paths to earth and sun ephemeris files in order to use the
`lalpulsar.ComputeFstat` module. This can either be specified when initialising `lalpulsar.ComputeFstat` module. This should be automatically picked up from
the $LALPULSAR_DATADIR environment variable, defaulting to the
00-40-DE421 ephemerides or 00-19-DE421 as a backup.
Alternatively, these can either be manually specified when initialising
each search (as one of the arguments), or simply by placing a file each search (as one of the arguments), or simply by placing a file
`~/.pyfstat.conf` into your home directory which looks like `~/.pyfstat.conf` into your home directory which looks like
...@@ -106,7 +109,7 @@ each search (as one of the arguments), or simply by placing a file ...@@ -106,7 +109,7 @@ each search (as one of the arguments), or simply by placing a file
earth_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/earth00-19-DE421.dat.gz' earth_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/earth00-19-DE421.dat.gz'
sun_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/sun00-19-DE421.dat.gz' sun_ephem = '/home/<USER>/lalsuite-install/share/lalpulsar/sun00-19-DE421.dat.gz'
``` ```
here, we use the default ephemeris files provided with `lalsuite`. Paths set in this way will take precedence over the environment variable.
### Contributors ### Contributors
......
...@@ -92,6 +92,8 @@ def set_up_command_line_arguments(): ...@@ -92,6 +92,8 @@ def set_up_command_line_arguments():
def get_ephemeris_files(): def get_ephemeris_files():
""" Returns the earth_ephem and sun_ephem """ """ Returns the earth_ephem and sun_ephem """
config_file = os.path.expanduser('~')+'/.pyfstat.conf' config_file = os.path.expanduser('~')+'/.pyfstat.conf'
env_var = 'LALPULSAR_DATADIR'
please = 'Please provide the ephemerides paths when initialising searches.'
if os.path.isfile(config_file): if os.path.isfile(config_file):
d = {} d = {}
with open(config_file, 'r') as f: with open(config_file, 'r') as f:
...@@ -101,11 +103,27 @@ def get_ephemeris_files(): ...@@ -101,11 +103,27 @@ def get_ephemeris_files():
for item in [' ', "'", '"', '\n']: for item in [' ', "'", '"', '\n']:
v = v.replace(item, '') v = v.replace(item, '')
d[k] = v d[k] = v
earth_ephem = d['earth_ephem'] try:
sun_ephem = d['sun_ephem'] earth_ephem = d['earth_ephem']
sun_ephem = d['sun_ephem']
except:
logging.warning('No [earth/sun]_ephem found in '+config_file+'. '+please)
earth_ephem = None
sun_ephem = None
elif env_var in os.environ.keys():
earth_ephem = os.path.join(os.environ[env_var],'earth00-40-DE421.dat.gz')
sun_ephem = os.path.join(os.environ[env_var],'sun00-40-DE421.dat.gz')
if not ( os.path.isfile(earth_ephem) and os.path.isfile(sun_ephem) ):
earth_ephem = os.path.join(os.environ[env_var],'earth00-19-DE421.dat.gz')
sun_ephem = os.path.join(os.environ[env_var],'sun00-19-DE421.dat.gz')
if not ( os.path.isfile(earth_ephem) and os.path.isfile(sun_ephem) ):
logging.warning('No [earth/sun]00-[19/40]-DE421 ephemerides '
'found in the '+os.environ[env_var]+' directory. '+please)
earth_ephem = None
sun_ephem = None
else: else:
logging.warning('No ~/.pyfstat.conf file found please provide the ' logging.warning('No '+config_file+' file or $'+env_var+' environment '
'paths when initialising searches') 'variable found. '+please)
earth_ephem = None earth_ephem = None
sun_ephem = None sun_ephem = None
return earth_ephem, sun_ephem return earth_ephem, sun_ephem
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment