@@ -79,7 +79,7 @@ def print_body_list():
7979 return data
8080
8181
82- def get_sw_speed (body , dtime , trange = 1 , default_vsw = 400.0 ):
82+ def get_sw_speed (body , dtime , trange = 1 , default_vsw = 400.0 , silent = False ):
8383 """
8484 Obtains measured solar wind bulk speed. Downloads solar wind speed
8585 measurements for "body" from "trange" hours before "dtime" until "trange"
@@ -98,6 +98,8 @@ def get_sw_speed(body, dtime, trange=1, default_vsw=400.0):
9898 default_vsw : float
9999 Default solar wind bulk speed in km/s that is returned if no
100100 measurements can be obtained. Default value 400.0
101+ silent : bool, optional
102+ If True, suppresses most print statements. Default is False. Use at own risk!
101103
102104 Returns
103105 -------
@@ -140,10 +142,12 @@ def get_sw_speed(body, dtime, trange=1, default_vsw=400.0):
140142 # sw_key['Wind'] = '|v|' # |v|
141143
142144 if body in ['Earth' , 'SEMB-L1' ]:
143- print (f"Using 'ACE' measurements for '{ body } '." )
145+ if not silent :
146+ print (f"Using 'ACE' measurements for '{ body } '." )
144147 body = 'ACE'
145148 elif body not in dataset .keys ():
146- print (f"Body '{ body } ' not supported, assuming default Vsw value of { default_vsw } km/s." )
149+ if not silent :
150+ print (f"Body '{ body } ' not supported, assuming default Vsw value of { default_vsw } km/s." )
147151 return default_vsw
148152
149153 try :
@@ -167,13 +171,16 @@ def get_sw_speed(body, dtime, trange=1, default_vsw=400.0):
167171 if idx .values [0 ] >= 0.0 :
168172 return idx .values [0 ]
169173 else :
170- print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
174+ if not silent :
175+ print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
171176 return default_vsw
172177 else :
173- print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
178+ if not silent :
179+ print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
174180 return default_vsw
175181 except AttributeError :
176- print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
182+ if not silent :
183+ print (f"No Vsw data found for '{ body } ' on { dtime } , assuming default Vsw value of { default_vsw } km/s." )
177184 return default_vsw
178185
179186
@@ -419,9 +426,11 @@ class SolarMACH():
419426 Longitute of reference position at the Sun
420427 reference_lat: float, optional
421428 Latitude of referene position at the Sun
429+ silent : bool, optional
430+ If True, suppresses most print statements. Default is False. Use at own risk!
422431 """
423432
424- def __init__ (self , date , body_list , vsw_list = [], reference_long = None , reference_lat = None , coord_sys = 'Carrington' , default_vsw = 400.0 , ** kwargs ):
433+ def __init__ (self , date , body_list , vsw_list = [], reference_long = None , reference_lat = None , coord_sys = 'Carrington' , default_vsw = 400.0 , silent = False , ** kwargs ):
425434 if 'diff_rot' in kwargs .keys ():
426435 self .diff_rot = kwargs ['diff_rot' ]
427436 else :
@@ -453,8 +462,9 @@ def __init__(self, date, body_list, vsw_list=[], reference_long=None, reference_
453462 try :
454463 pos_E = get_horizons_coord (399 , self .date , None ) # (lon, lat, radius) in (deg, deg, AU)
455464 except (ValueError , RuntimeError ):
456- print ('' )
457- print ('!!! No ephemeris found for Earth for date {self.date} - there probably is a problem with JPL HORIZONS.' )
465+ if not silent :
466+ print ('' )
467+ print ('!!! No ephemeris found for Earth for date {self.date} - there probably is a problem with JPL HORIZONS.' )
458468 if coord_sys == 'Carrington' :
459469 self .pos_E = pos_E .transform_to (frames .HeliographicCarrington (observer = 'Sun' ))
460470 elif coord_sys == 'Stonyhurst' :
@@ -468,9 +478,10 @@ def __init__(self, date, body_list, vsw_list=[], reference_long=None, reference_
468478 vsw_list2 = copy .deepcopy (vsw_list )
469479
470480 if len (vsw_list2 ) == 0 :
471- print ('No solar wind speeds defined, trying to obtain measurements...' )
481+ if not silent :
482+ print ('No solar wind speeds defined, trying to obtain measurements...' )
472483 for body in body_list :
473- vsw_list2 .append (get_sw_speed (body = body , dtime = date , default_vsw = default_vsw ))
484+ vsw_list2 .append (get_sw_speed (body = body , dtime = date , default_vsw = default_vsw , silent = silent ))
474485 # vsw_list = np.zeros(len(body_list)) + 400
475486
476487 random_cols = ['forestgreen' , 'mediumblue' , 'm' , 'saddlebrown' , 'tomato' , 'olive' , 'steelblue' , 'darkmagenta' ,
@@ -539,8 +550,9 @@ def __init__(self, date, body_list, vsw_list=[], reference_long=None, reference_
539550 lat_sep = pos .lat .value - self .reference_lat
540551 latsep_list .append (lat_sep )
541552 except (ValueError , RuntimeError ):
542- print ('' )
543- print ('!!! No ephemeris for target "' + str (body ) + '" for date ' + str (self .date ))
553+ if not silent :
554+ print ('' )
555+ print ('!!! No ephemeris for target "' + str (body ) + '" for date ' + str (self .date ))
544556 body_list .remove (body )
545557
546558 body_dict_short = {sel_key : bodies [sel_key ] for sel_key in body_list }
0 commit comments