VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
atm3d.h
Go to the documentation of this file.
1 
2 /* © 1998 JRM Technologies, Inc.*/
3 
4 
5 
6 
7 /***********************************
8 Copyright JRM Enterprises, Inc. 1998
9 All rights reserved.
10 
11 This code is the intellectual property of JRM Enterprises, Inc.
12 It may not be used or released as source or compiled binary form
13 without the prior written consent of JRM Enterprises, Inc.
14 ***********************************/
15 
16 
17 #include "SigSimAPI.h"
18 
19 #ifdef __cplusplus
20 extern "C"
21 {
22 #endif
23 
24  /* --------------------- COLUMN ALLOCATION and FILLING ------------------- */
25 
26  int AllocateATM_COLUMNS(int ncolumns, long nlayersincolumn, long nlambda, ATM_COLUMN** col);
27  int AllocateATM_LAYERS(long nlayers, long ncoefs, ATM_STATE** layer);
28  int AllocateATMCOEFS(long ncoefs, ATMCOEF** coef);
29 #ifdef USEMODRAD
30  int FillAtmosphericGrid3D(char *sigsim_atm_dir, METIN *metin, jrmbool alloccoef);
31 #endif
32  int FillColumnExtinctions(char *sigsim_atm_dir, METIN *metin);
33 
34  /* ------------------- 3D IRRADIANCE ROUTINES -------------------- */
35 
36  int SpectralDirectIrradiance(GEODETIC_LOCATION sensor, EPHEMERIS fm, long nlambda, double* solarTOA, double* lunarTOA, double* solar, double*lunar, int ncolumns, ATM_COLUMN* col);
37  int SpectralDiffuseIrradiance(GEODETIC_LOCATION sensor, EPHEMERIS fm, long nlambda, double* solarTOA, double* lunarTOA, double* solar, double* lunar, double* sky, int ncolumns, ATM_COLUMN* col, double airtemp, double minairtemp, double maxairtemp, double relative_humidity);
38  int SpectralDiffuseSSIrradiance(GEODETIC_LOCATION sensor, EPHEMERIS fm, long nlambda, double* solarTOA, double* lunarTOA, double* solar, double* lunar, double* sky, int ncolumns, ATM_COLUMN* col, double airtemp, double minairtemp, double maxairtemp, double relative_humidity);
39 
40  /* ----------------------- 3D ATMOSPHERICS ------------------ */
41  int CalcXmitAndPathRadGE3D(VECTOR NEDsource, double STOPRANGE, double STOPALT, GEODETIC_LOCATION sensor, ellipsoid E, int ncolumns, ATM_COLUMN* col, long nlambda, double* XmitArray, double* PradArray, jrmbool hitflag, jrmbool RCSflag, double *rainRCS, GEOCENTRIC_LOCATION *beginRCS, GEOCENTRIC_LOCATION *endRCS);
42  int BandXmitAndPathRadGE3D(VECTOR NEDsource, double STOPRANGE, double STOPALT, GEODETIC_LOCATION sensor, ellipsoid E, int ncolumns, ATM_COLUMN* col, long nlambda, double* XmitArray, double* PradArray, double* LambdaArray, double* Xmit, double* Prad, double ax, double bx, jrmbool hitflag, jrmbool RCSflag, double *band_rainRCS, double *rainRCSArray, GEOCENTRIC_LOCATION *beginRCS, GEOCENTRIC_LOCATION *endRCS);
43  int XmitGE3D(VECTOR NEDsource, double STOPRANGE, double STOPALT, GEODETIC_LOCATION sensor, ellipsoid E, int ncolumns, ATM_COLUMN* col, long nlambda, double* Xmit, int* colindex, int* layindex, GEODETIC_LOCATION* current_R, jrmbool hitflag, jrmbool RCSflag, double *rainRCS, GEOCENTRIC_LOCATION *beginRCS, GEOCENTRIC_LOCATION *endRCS);
44  int PradGE3D(VECTOR NEDsource, double STOPRANGE, GEODETIC_LOCATION sensor, ellipsoid E, int ncolumns, ATM_COLUMN* col, long nlambda, double* Prad, jrmbool fast);
45  int PradScatGE3D(VECTOR NEDsource, double STOPRANGE, GEODETIC_LOCATION sensor, EPHEMERIS fm, int ncolumns, ATM_COLUMN* col, long nlambda, double* solarTOA, double* lunarTOA, double* Prad, double* SolScat, double* LunScat, jrmbool fast);
46 
47  /* ------------------- GEOMETRIC INTERSECTION CALCULATIONS ------------- */
48 
49 
51  jrmbool LineIntSurface(jrmComplex (*func) (jrmComplex *, int, jrmComplex), jrmComplex* F, int N, GEOCENTRIC_LOCATION R1C, VECTOR XYZO1, ellipsoid E, double* length, GEOCENTRIC_LOCATION* DUM, GEODETIC_LOCATION* R2, GEODETIC_LOCATION corner1, GEODETIC_LOCATION corner2, double guess);
55  jrmbool PointIsInCell(GEODETIC_LOCATION corner1, GEODETIC_LOCATION corner2, GEODETIC_LOCATION point, double TOL_ALT, double TOL_LAT, double TOL_LON);
56  jrmbool PointIsInColumn(double lat1, double lon1, double lat2, double lon2, double latpoint, double lonpoint, double TOL_LAT, double TOL_LON);
57  int FindCellIndices(GEODETIC_LOCATION point, ATM_COLUMN* col, int ncolumns, int* colindex, int*layindex);
58 
59 
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
65 
66 
67 
68 
69 


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)