Ejemplo n.º 1
0
int
main(int argc, char** argv)
{
    char* url = NULL;
    const char* servlet = NULL;
    const char* proto = NULL;
    char* serverlist = NULL;
    int isdap4 = 0; /* 1 => dap4 */

    argc--; argv++;
    if(argc < 2)
	usage();	
    proto = strdup(argv[0]);
    servlet = strdup(argv[1]);
    if(argc >= 3)
	serverlist = strdup(argv[2]);

#ifdef ENABLE_DAP
    if(strcasecmp(proto,"dap2")==0)
	isdap4 = 0;
    else
#endif
#ifdef ENABLE_DAP4
    if(strcasecmp(proto,"dap4")==0)
	isdap4 = 1;
    else
#endif
	usage();

    if(serverlist == NULL) {
#ifdef REMOTETESTSERVERS
	serverlist = strdup(REMOTETESTSERVERS);
#endif
    }
    if(serverlist == NULL || strlen(serverlist) == 0)
	fprintf(stderr,"Cannot determine a server list");

    url = nc_findtestserver(servlet,isdap4,serverlist);
    if(url == NULL) {
       url = "";
	fprintf(stderr,"not found: %s\n",servlet);
    }
    printf("%s",url);
    fflush(stdout);
    /* clean up */
    free(serverlist);    
    free(url);
    exit(0);
}
Ejemplo n.º 2
0
int
main()
{
    int ncid, varid;
    int retval,i;
    size_t start[RANK];
    size_t count[RANK];
    char URL[4096];
    const char* svc = NULL;
    
    /* Find Test Server */
    svc = nc_findtestserver("dts",0);
    if(svc == NULL) {
	fprintf(stderr,"Cannot locate test server\n");
	exit(1);
    }
    printf("Using test server: %s\n",svc);
    strncpy(URL,svc,sizeof(URL));
    strlcat(URL,DTSTEST,sizeof(URL));

    memset((void*)target,0,sizeof(target));

    if((retval = nc_open(URL, NC_NOWRITE, &ncid)))
       ERR(retval);

    if((retval = nc_inq_varid(ncid, NCVAR, &varid)))
       ERR(retval);

    printf("test 1: Read the whole variable\n");
    memcpy(start,start0,sizeof(start0));
    memcpy(count,count0,sizeof(count0));

    if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target)))
       ERR(retval);
    if(!check(start,count)) goto fail;

    printf("test 2: Read the top half\n");
    memcpy(start,start0,sizeof(start0));
    memcpy(count,count0,sizeof(count0));
    start[0] += count0[0]/2;
    count[0] = count0[0] - start[0];

    if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target)))
       ERR(retval);
    if(!check(start,count)) goto fail;

    printf("test 3: Read the slice with X=1\n");
    memcpy(start,start0,sizeof(start0));
    memcpy(count,count0,sizeof(count0));
    start[0] = 1;
    count[0] = 1;

    if((retval = nc_get_vara_float(ncid,varid,start,count,(float*)target)))
       ERR(retval);
    if(!check(start,count)) goto fail;

    if((retval = nc_close(ncid)))
       ERR(retval);

    printf("*** PASS\n");
    return 0;
fail:
    printf("*** FAIL\n");
    return 1;
}