From 30b42fabdcfcac6e18cb76dae2a3d2dd097c4117 Mon Sep 17 00:00:00 2001 From: David Keitel <david.keitel@ligo.org> Date: Thu, 2 Aug 2018 20:39:16 +0100 Subject: [PATCH] smarter ephemerides finding, including from $LALPULSAR_DATADIR --- pyfstat/helper_functions.py | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/pyfstat/helper_functions.py b/pyfstat/helper_functions.py index 556503e..9d22982 100644 --- a/pyfstat/helper_functions.py +++ b/pyfstat/helper_functions.py @@ -92,6 +92,8 @@ def set_up_command_line_arguments(): def get_ephemeris_files(): """ Returns the earth_ephem and sun_ephem """ 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): d = {} with open(config_file, 'r') as f: @@ -101,11 +103,27 @@ def get_ephemeris_files(): for item in [' ', "'", '"', '\n']: v = v.replace(item, '') d[k] = v - earth_ephem = d['earth_ephem'] - sun_ephem = d['sun_ephem'] + try: + 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: - logging.warning('No ~/.pyfstat.conf file found please provide the ' - 'paths when initialising searches') + logging.warning('No '+config_file+' file or $'+env_var+' environment ' + 'variable found. '+please) earth_ephem = None sun_ephem = None return earth_ephem, sun_ephem -- GitLab