#include /* This example program shows a simple example of the use of the Maddata library. */ /* It shows how to use createNonfileMaddata to calculate data without a file. */ /* The following is input data: UT1 = 1/20/1998 12:30:00 , */ /* UT2 = 1/20/1998 12:30:30, kinst = 31 (MLH) */ /* Measured 1D parameters: azm = 30, elm = 45 */ /* Measured 2D parameters: range = {200, 300, 400, 500, 600} */ /* Parameters to show: Azm, Elm, Ut1, Range, Gdalt, Bmag, Kp */ int main (int argc, char *argv[]) { MadparmList * parmListShow; /* list of parameters to show */ MadparmList * parmMeas1D; /* list of 1D parameters for which data will be given */ MadparmList * parmMeas2D; /* list of 2D parameters for which data will be given */ Maddata * maddata = NULL; /* input data */ double input1D[] = {30.0, 45.0}; /* length = 2 since 2 1D parameters azm, elm */ double * input2D[1] = {0}; /* length = 1 since only 1 2D parameter - range */ double range[5] = {200.0, 300.0, 400.0, 500.0, 600.0}; int kinst = 31; double ut1=0.0, ut2=0.0; input2D[0] = range; /* if other 2D parameters, set them here */ /* create parmListShow */ parmListShow = createMadparmList(); appendMadparm(parmListShow, "azm"); appendMadparm(parmListShow, "elm"); appendMadparm(parmListShow, "ut1"); appendMadparm(parmListShow, "range"); appendMadparm(parmListShow, "gdalt"); appendMadparm(parmListShow, "bmag"); appendMadparm(parmListShow, "kp"); /* create parmMeas1D */ parmMeas1D = createMadparmList(); appendMadparm(parmMeas1D, "azm"); appendMadparm(parmMeas1D, "elm"); /* create parmMeas2D */ parmMeas2D = createMadparmList(); appendMadparm(parmMeas2D, "range"); /* get ut1 and ut2 */ ut1 = getKey(1998, 1, 20, 12, 30, 0); ut2 = getKey(1998, 1, 20, 12, 30, 30); /* create the data you want */ maddata = createNonfileMaddata(parmListShow, ut1, ut2, kinst, parmMeas1D, parmMeas2D, 5, input1D, input2D, stdout); printf("Finished createMaddata\n"); /* print all data in isprint format */ classicIsprint(maddata, 1, 1, 0, "Missing", "Assumed", "KnownBad", stdout); /* clean up */ destroyMaddata(maddata); destroyMadparmList(parmListShow); destroyMadparmList(parmMeas1D); destroyMadparmList(parmMeas2D); return(0); }