VR-Vantage 3.1 API Documentation
Home
Modules
Namespaces
Classes
Files
Libraries
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
sensorFx
include
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
50
int
GetNextIntersect
(
ellipsoid
E,
GEODETIC_LOCATION
R1,
VECTOR
NEDO1,
GEODETIC_LOCATION
corner1,
GEODETIC_LOCATION
corner2,
GEODETIC_LOCATION
* R2,
GEOCENTRIC_LOCATION
* R2C,
double
*
length
);
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);
52
jrmComplex
LAT_intersect
(
jrmComplex
* F,
int
N,
jrmComplex
X
);
53
jrmComplex
LON_intersect
(
jrmComplex
* F,
int
N,
jrmComplex
X
);
54
jrmComplex
ALT_intersect
(
jrmComplex
* F,
int
N,
jrmComplex
X
);
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
)