52 ERRMSG(
"Missing or invalid command-line arguments.\n\n"
53 "Usage: obsfmt <ctl> <obs_in> <obsfmt_in> <obs_out> <obsfmt_out> [KEY VALUE ...]\n\n"
54 "Use -h for full help.");
60 const int prof_in = (int)
scan_ctl(argc, argv,
"PROF_IN", -1,
"0", NULL);
61 const int prof_out = (int)
scan_ctl(argc, argv,
"PROF_OUT", -1,
"0", NULL);
64 ctl.
obsfmt = atoi(argv[3]);
65 read_obs(NULL, argv[2], &ctl, &obs, prof_in);
68 ctl.
obsfmt = atoi(argv[5]);
69 write_obs(NULL, argv[4], &ctl, &obs, prof_out);
78 printf(
"\nJURASSIC observation-format converter.\n\n");
79 printf(
"Convert observation files between supported OBSFMT formats.\n\n");
81 printf(
" obsfmt <ctl> <obs_in> <obsfmt_in> <obs_out> <obsfmt_out>\n");
82 printf(
" [KEY VALUE ...]\n\n");
83 printf(
"Arguments:\n");
84 printf(
" <ctl> Control file.\n");
85 printf(
" <obs_in> Input observation data file.\n");
86 printf(
" <obsfmt_in> Input observation file format identifier.\n");
87 printf(
" <obs_out> Output observation data file.\n");
88 printf(
" <obsfmt_out> Output observation file format identifier.\n");
89 printf(
" [KEY VALUE] Optional control parameters.\n\n");
90 printf(
"Tool-specific control parameters:\n");
91 printf(
" PROF_IN <n> Read profile index <n> from the input file.\n");
92 printf(
" PROF_OUT <n> Write output as profile index <n>.\n\n");
93 printf(
"Common control parameters:\n");
95 (
" ND, NU[i] Spectral channels in observation files.\n");
96 printf(
" WRITE_BBT Brightness-temperature output flag.\n\n");
97 printf(
"Further information:\n");
98 printf(
" Manual: https://slcs-jsc.github.io/jurassic/\n");
void read_ctl(int argc, char *argv[], ctl_t *ctl)
Read model control parameters from command-line and configuration input.
void read_obs(const char *dirname, const char *filename, const ctl_t *ctl, obs_t *obs, int profile)
Read observation data from an input file.
void write_obs(const char *dirname, const char *filename, const ctl_t *ctl, const obs_t *obs, int profile)
Write observation data to an output file in ASCII or binary format.
double scan_ctl(int argc, char *argv[], const char *varname, const int arridx, const char *defvalue, char *value)
Scan control file or command-line arguments for a configuration variable.
JURASSIC library declarations.
#define ERRMSG(...)
Print an error message with contextual information and terminate the program.
#define USAGE
Print usage information on -h or --help.
int main(int argc, char *argv[])
int obsfmt
Observation data file format (1=ASCII, 2=binary, 3=netCDF).
Observation geometry and radiance data.