##// END OF EJS Templates
Update html images routes
Update html images routes

File last commit:

r0:b84e1135c2c4
r14:8f437cc4b32c
Show More
testCreateRecord.c
181 lines | 5.2 KiB | text/x-c | CLexer
/* $Id: testCreateRecord.c 3304 2011-01-17 15:25:59Z brideout $ */
/*
modification history
--------------------
01a,1Feb02 Original
*/
/*
* Usage: testCreateRecord
* This program
*
*/
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <madrec.h>
#include <cedar.h>
int
main (argc, argv)
int argc;
char *argv[];
{
Madrec *madrecp; /* Output File - type 0-4 */
int iotype=0, stat=0, record=0, i=0;
int lprol=0, jpar=0, mpar=0, nrow=0, krec=0, kinst=0, kindat=0, ibyr=0,
ibmo=0, ibdy=0, ibh=0, ibm=0, ibs=0, ibcs=0, ieyr=0, iemo=0, iedy=0,
ieh=0, iem=0, ies=0, iecs=0;
double kp[8] = {2.0, 3.3, 4.0, 3.0, 8.0, 7.7, 6.3, 5.0};
double ap[8] = {10.0, 15.0, 16.0, 15.0, 24.0, 21.0, 18.0, 15.0};
char text[161] = "";
/* Get the input parameters */
/*
if (argc == 4) {
infile = argv[1];
outfile = argv[2];
iotype = atoi(argv[3]);
if (iotype < 0 || iotype > 4) {
fprintf(stderr, "%s\n", err3);
return(1);
} else {
iotype = 20 + iotype;
}
} else {
fprintf(stderr, "%s\n", err2);
return(1);
}
*/
/* Create a madrec object for the output file */
if ((madrecp = madrecCreate()) == (Madrec *) NULL) {
fprintf(stderr, "create madrecw: %s\n", madrecGetError(madrecp));
return(1);
}
/* Connect the output madrec object to a madrigal file */
iotype = 20;
stat = madrecOpen(madrecp, iotype, "madout");
fprintf(stderr, "open madrecw: %s\n", madrecGetError(madrecp));
/* first, add a catalog record - lenght must be 80*n */
/* create some text */
text[160] = '\0';
for (i=0; i<160; i++)
text[i] = ' ';
strcpy(text, "This is a catalog record line 0");
text[strlen("This is a catalog record line 0")] = ' ';
strcpy(text + 80, "This is a catalog record line 1");
text[80 + strlen("This is a catalog record line 1")] = ' ';
madrecp->recordp = cedarCreateCatalogRecord(31, 30007,
2001, 8, 20,
0, 0, 0, 0,
2001, 8, 21,
23, 59, 59, 99,
text);
/* append some more text to the catalog record */
for (i=0; i<160; i++)
text[i] = ' ';
strcpy(text, "This is a catalog record line 2");
text[strlen("This is a catalog record line 2")] = ' ';
strcpy(text + 80, "This is a catalog record line 3");
text[80 + strlen("This is a catalog record line 3")] = ' ';
stat = cedarAppendCatalogRecord(&(madrecp->recordp), text);
stat = madrecPutNextRec(madrecp);
fprintf(stderr, "putNextRec madrecw: %s\n", madrecGetError(madrecp));
free(madrecp->recordp);
/* next, add a header record - lenght must be 80*n */
/* create some text */
for (i=0; i<160; i++)
text[i] = ' ';
strcpy(text, "This is a header record line 0");
text[strlen("This is a header record line 0")] = ' ';
strcpy(text + 80, "This is a header record line 1");
text[80 + strlen("This is a header record line 1")] = ' ';
madrecp->recordp = cedarCreateHeaderRecord(31, 30007,
2001, 8, 20,
0, 0, 0, 0,
2001, 8, 21,
23, 59, 59, 99,
2,2,
text);
/* append some more text to the header record */
for (i=0; i<160; i++)
text[i] = ' ';
strcpy(text, "This is a header record line 2");
text[strlen("This is a header record line 2")] = ' ';
strcpy(text + 80, "This is a header record line 3");
text[80 + strlen("This is a header record line 3")] = ' ';
stat = cedarAppendHeaderRecord(&(madrecp->recordp), text);
stat = madrecPutNextRec(madrecp);
fprintf(stderr, "putNextRec madrecw: %s\n", madrecGetError(madrecp));
lprol = 16;
jpar = 3;
mpar = 2;
nrow = 8;
krec = 1002;
kinst = 210;
kindat = 30007;
ibyr = 2001;
ibmo = 8;
ibdy = 20;
ibh = 0;
ibm = 0;
ibs = 0;
ibcs = 0;
ieyr = 2001;
iemo = 8;
iedy = 20;
ieh = 23;
iem = 59;
ies = 59;
iecs = 59;
for (record=0; record<5; record++) {
ibdy++;
iedy++;
/* Create a Cedar record in the madrec object */
if (madrecp->recordp != (Int16 *)NULL) {
free(madrecp->recordp);
}
madrecp->recordp = cedarCreateRecord(lprol, jpar, mpar, nrow, krec,
kinst, kindat, ibyr, ibmo, ibdy,
ibh, ibm, ibs, ibcs, ieyr,
iemo, iedy, ieh, iem, ies,
iecs);
/* Set 1d parameters */
stat = cedarSet1dParm(madrecp->recordp, 340, 12.0, 0);
stat = cedarSet1dParm(madrecp->recordp, 354, 1.5e-20, 1);
stat = cedarSet1dParm(madrecp->recordp, 356, 1.2e-20, 2);
/* Set 2d parms */
stat = cedarSet2dParm(madrecp->recordp, 310, kp, 0);
stat = cedarSet2dParm(madrecp->recordp, 335, ap, 1);
/* cedarPrintRecord(madrecp->recordp); */
stat = madrecPutNextRec(madrecp);
fprintf(stderr, "putNextRec madrecw: %s\n", madrecGetError(madrecp));
}
stat = madrecClose(madrecp);
fprintf(stderr, "close madrecw: %s\n", madrecGetError(madrecp));
madrecDestroy(madrecp);
return(0);
}