Changeset 2196 for trunk/psLib/src/astro/psTime.c
- Timestamp:
- Oct 25, 2004, 2:37:44 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/psLib/src/astro/psTime.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/src/astro/psTime.c
r2181 r2196 11 11 * @author Ross Harman, MHPCC 12 12 * 13 * @version $Revision: 1.3 6$ $Name: not supported by cvs2svn $14 * @date $Date: 2004-10-2 0 21:21:58$13 * @version $Revision: 1.37 $ $Name: not supported by cvs2svn $ 14 * @date $Date: 2004-10-26 00:37:44 $ 15 15 * 16 16 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 29 29 #include "psCoord.h" 30 30 #include "psString.h" 31 #include "psMetadata.h" 32 #include "psMetadataIO.h" 31 33 32 34 #include "psAstronomyErrors.h" … … 42 44 #endif 43 45 46 44 47 /** Sidereal angular conversion from seconds to radians for GMST in seconds (i.e. pi/(180*240)) */ 45 48 #define S2R (7.272205216643039903848711535369e-5) … … 72 75 #define LINESIZE 1024 73 76 74 /** Read TAI/UTC data file. 75 * 76 * Reads TAI/UTC data file. 77 * 78 * @return psImage*: Two-dimensional array with table data. 79 */ 80 static psImage* readTaiUtcFile( 81 const char *fileName ///< Name of file to read. 82 ); 77 78 /** Time metadata read from config file */ 79 static psMetadata *timeMetadata = NULL; 80 81 82 /** Read TAI/UTC data file. 83 * 84 * Reads TAI/UTC data file. 85 * 86 * @return psImage*: Two-dimensional array with table data. 87 */ 88 static psImage* readTaiUtcFile( 89 const char *fileName ///< Name of file to read. 90 ); 83 91 84 92 … … 125 133 */ 126 134 static double lookupTaiUtcTable( 127 const psTime *time ///< time to lookup.135 const psTime *time ///< time to lookup. 128 136 ); 129 137 … … 135 143 */ 136 144 static double lookupSer7Table( 137 const psTime *time, ///< time to lookup.138 int col ///< Column to lookup.145 const psTime *time, ///< time to lookup. 146 int col ///< Column to lookup. 139 147 ); 140 148 … … 457 465 denom = table->data.F64[hiIdx][3] - table->data.F64[loIdx][3]; 458 466 if(fabs(denom) < FLT_EPSILON) { 459 psError(__func__, " : Line %d - Divid ie by zero error during interpolation", __LINE__);467 psError(__func__, " : Line %d - Divide by zero error during interpolation", __LINE__); 460 468 } else { 461 469 out = table->data.F64[loIdx][col]+(table->data.F64[hiIdx][col]-table->data.F64[loIdx][col]) … … 465 473 466 474 return out; 475 } 476 477 void psTimeInit(char *fileName) 478 { 479 char *tableDir = NULL; 480 char *tableNames = NULL; 481 psU8 numTables = 0; 482 psVector *tablesFrom = NULL; 483 psVector *tablesTo = NULL; 484 psF64 beforeXp = 0.0; 485 psF64 beforeYp = 0.0; 486 psF64 beforeDut = 0.0; 487 psMetadataItem *metadataItem = NULL; 488 489 490 // Read time config file 491 psMetadataParseConfig(&timeMetadata, fileName, true); 492 493 // Get path to time data files 494 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.tables.dir"); 495 tableDir = (char*)metadataItem->data.V; 496 497 // Get number of tables 498 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.tables.n"); 499 numTables = (psU8)metadataItem->data.S32; 500 501 // Get table names 502 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.tables.files"); 503 tableNames = (char*)metadataItem->data.V; 504 505 // Get ranges of tables 506 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.tables.from"); 507 tablesFrom = (psVector*)metadataItem->data.V; 508 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.tables.to"); 509 tablesTo = (psVector*)metadataItem->data.V; 510 511 // Out of range values 512 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.before.xp"); 513 beforeXp =(psF64)metadataItem->data.F64; 514 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.before.yp"); 515 beforeYp =(psF64)metadataItem->data.F64; 516 metadataItem = psMetadataLookup(timeMetadata, "psLib.time.before.dut"); 517 beforeDut = (psF64)metadataItem->data.F64; 467 518 } 468 519
Note:
See TracChangeset
for help on using the changeset viewer.
