36    ERRMSG(
"Give parameters: <ctl> <obs>");
 
   40  const double obsz = 
scan_ctl(argc, argv, 
"OBSZ", -1, 
"780", NULL);
 
   41  const double t0 = 
scan_ctl(argc, argv, 
"T0", -1, 
"0", NULL);
 
   42  const double t1 = 
scan_ctl(argc, argv, 
"T1", -1, 
"0", NULL);
 
   43  const double dt = 
scan_ctl(argc, argv, 
"DT", -1, 
"1", NULL);
 
   44  const double z0 = 
scan_ctl(argc, argv, 
"Z0", -1, 
"3", NULL);
 
   45  const double z1 = 
scan_ctl(argc, argv, 
"Z1", -1, 
"68", NULL);
 
   46  const double dz = 
scan_ctl(argc, argv, 
"DZ", -1, 
"1", NULL);
 
   49  for (
double t = t0; t <= t1; t += dt)
 
   50    for (
double z = z0; z <= z1; z += dz) {
 
   54      obs.
vplat[obs.
nr] = 180 / M_PI * acos((
RE + z) / (
RE + obsz));
 
void read_ctl(int argc, char *argv[], ctl_t *ctl)
Read forward model control parameters.
 
void write_obs(const char *dirname, const char *filename, const ctl_t *ctl, const obs_t *obs)
Write observation data.
 
double scan_ctl(int argc, char *argv[], const char *varname, const int arridx, const char *defvalue, char *value)
Search control parameter file for variable entry.
 
JURASSIC library declarations.
 
#define RE
Mean radius of Earth [km].
 
#define ERRMSG(...)
Print error message and quit program.
 
#define NR
Maximum number of ray paths.
 
int main(int argc, char *argv[])
 
Forward model control parameters.
 
Observation geometry and radiance data.
 
double vpz[NR]
View point altitude [km].
 
double vplat[NR]
View point latitude [deg].
 
double obsz[NR]
Observer altitude [km].
 
double time[NR]
Time (seconds since 2000-01-01T00:00Z).
 
int nr
Number of ray paths.