NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi all, I have a trouble in my code below. When I run this code, I have a segmentation fault in front of red line, even though the code is running until 4 times. That is, when the icall = 0, 1, 2, 3, the code is running well, but icall = 4, I have a segmentation fault. I guess the problem might be creating the netCDF files. Do you guys have any ideas to solve this problem... please let me know that. Thanks a lot. for (int icall=0; icall<20000; i++) {// for int iseed =1, tcount=14608, npix=108, error=2, count=0; float **snow_we, **soil_uztwc; snow_we = FloatMatrix2(tcount,npix); soil_uztwc = FloatMatrix2(tcount,npix); vector< float > we_val( npix ); vector< float > soil_val( npix ); *while ( currentTime <= 14608) {//while count++; error = retrieve_value( allPixels, "we", we_val ); error = retrieve_value( allPixels, "real_soil", soil_val ); for (int j = 0; j < npix; j++) { snow_we[count-1][j] = we_val[j]; soil_uztwc[count-1][j] = soil_val[j]; } }//while * char snowfname[50] = {0, }; sprintf(snowfname,"snow_scem_iseed%d_iter%d.nc",iseed,icall); NcFile dataFile(snowfname, NcFile::Replace); if (!dataFile.is_valid()) { cout << "Could not open the netcdf snow file ! \n " << endl; } NcDim* xDim = dataFile.add_dim("x",tcount); NcDim* yDim = dataFile.add_dim("y",npix); NcVar *data = dataFile.add_var("data",ncFloat,xDim,yDim); *data->put(&snow_we[0][0],tcount,npix);* char uztwcfname[50] = {0, }; sprintf(uztwcfname,"uztwc_scem_iseed%d_iter%d.nc",iseed,icall); NcFile dataFile2(uztwcfname, NcFile::Replace); if (!dataFile2.is_valid()) { cout << "Could not open the netcdf uztwc file ! \n " << endl; } NcDim* xDim2 = dataFile2.add_dim("x",tcount); NcDim* yDim2 = dataFile2.add_dim("y",npix); NcVar *data2 = dataFile2.add_var("data",ncFloat,xDim2,yDim2); data2->put(&soil_uztwc[0][0],tcount,npix); FreeFloatMatrix2 (snow_we,tcount); FreeFloatMatrix2 (soil_uztwc,tcount); }//for
netcdfgroup
archives: