The problem of repeatedly loading IERS data files when other packages call this package has been fixed by dynamically setting environment variables.
This commit is contained in:
		
							parent
							
								
									1814b27b1a
								
							
						
					
					
						commit
						15b691055a
					
				
							
								
								
									
										
											BIN
										
									
								
								pyatmos/.DS_Store
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								pyatmos/.DS_Store
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| @ -6,7 +6,7 @@ estimation of atmospheric properties for various atmospheric models, such | ||||
| as exponential, coesa76, nrlmsise00, and jb2008.  | ||||
| 
 | ||||
| '''     | ||||
| 
 | ||||
| import os | ||||
| from .standardatmos.expo import expo | ||||
| from .standardatmos.coesa76 import coesa76 | ||||
| 
 | ||||
| @ -15,7 +15,9 @@ from .jb2008.spaceweather import download_sw_jb2008,read_sw_jb2008 | ||||
| 
 | ||||
| from .msise.nrlmsise00 import nrlmsise00 | ||||
| from .jb2008.jb2008 import jb2008 | ||||
| 
 | ||||
| from .utils import data_prepare | ||||
| 
 | ||||
| # Load and update the EOP file and Leap Second file | ||||
| data_prepare.iers_load()  | ||||
| # Load IERS data based on environment variable | ||||
| enable_iers_load = os.getenv("ENABLE_IERS_LOAD", "true").lower() == "true" | ||||
| data_prepare.iers_load(enable_iers_load) | ||||
| @ -2,11 +2,16 @@ from astropy.utils import iers as iers_astropy | ||||
| 
 | ||||
| from .data_download import download_iers | ||||
| 
 | ||||
| def iers_load(): | ||||
| 
 | ||||
|     # load the EOP file | ||||
|     dir_iers,eop_file,leapsecond_file = download_iers()  | ||||
|     iers_astropy.conf.auto_download = False | ||||
|     iers_a = iers_astropy.IERS_A.open(eop_file) | ||||
|     leapsecond = iers_astropy.LeapSeconds.from_iers_leap_seconds(leapsecond_file) | ||||
|     eop_table = iers_astropy.earth_orientation_table.set(iers_a) | ||||
| def iers_load(enable_iers_load=True): | ||||
|     """ | ||||
|     Loads the EOP (Earth Orientation Parameters) and Leap Second files from IERS. | ||||
|     This function downloads the necessary files if they are not found locally, and then sets up the Astropy libraries to use this data. | ||||
|     """ | ||||
|     if enable_iers_load: | ||||
|         # Download the EOP and Leap Second files | ||||
|         dir_iers,eop_file,leapsecond_file = download_iers() | ||||
|         # Load IERS data for Astropy | ||||
|         iers_astropy.conf.auto_download = False # Prevent automatic IERS download by Astropy | ||||
|         iers_a = iers_astropy.IERS_A.open(eop_file) # Load IERS data | ||||
|         leapsecond = iers_astropy.LeapSeconds.from_iers_leap_seconds(leapsecond_file) # Load Leap Second data | ||||
|         eop_table = iers_astropy.earth_orientation_table.set(iers_a) # Configure Astropy to use IERS data | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user