Changeset 3458
- Timestamp:
- 04/08/10 08:49:02 (15 years ago)
- Location:
- issm/trunk/src/c/ModelProcessorx
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateParametersDiagnosticHoriz.cpp
r3429 r3458 17 17 int i; 18 18 19 double* vx=NULL;20 double* vy=NULL;21 double* vz=NULL;22 19 double* ug=NULL; 23 20 … … 31 28 32 29 /*Get vx and vy: */ 33 IoModelFetchData(& vx,NULL,NULL,iomodel_handle,"vx");34 IoModelFetchData(& vy,NULL,NULL,iomodel_handle,"vy");35 IoModelFetchData(& vz,NULL,NULL,iomodel_handle,"vz");30 IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx"); 31 IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy"); 32 IoModelFetchData(&iomodel->vz,NULL,NULL,iomodel_handle,"vz"); 36 33 37 34 ug=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double)); 38 35 39 if( vx) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+0]=vx[i]/iomodel->yts;40 if( vy) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+1]=vy[i]/iomodel->yts;41 if( vz) for(i=0;i<iomodel->numberofvertices;i++)ug[3*i+2]=vz[i]/iomodel->yts;36 if(iomodel->vx) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+0]=iomodel->vx[i]/iomodel->yts; 37 if(iomodel->vy) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+1]=iomodel->vy[i]/iomodel->yts; 38 if(iomodel->vz) for(i=0;i<iomodel->numberofvertices;i++) ug[3*i+2]=iomodel->vz[i]/iomodel->yts; 42 39 43 40 count++; … … 46 43 parameters->AddObject(param); 47 44 48 xfree((void**)& vx);49 xfree((void**)& vy);50 xfree((void**)& vz);45 xfree((void**)&iomodel->vx); 46 xfree((void**)&iomodel->vy); 47 xfree((void**)&iomodel->vz); 51 48 xfree((void**)&ug); 52 49 -
issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp
r3437 r3458 22 22 int* part; 23 23 24 double* vx=NULL;25 24 double* vx_g=NULL; 26 double* vy=NULL;27 25 double* vy_g=NULL; 28 double* thickness=NULL;29 26 double* h_g=NULL; 30 double* accumulation=NULL;31 27 double* a_g=NULL; 32 double* melting=NULL;33 28 double* m_g=NULL; 34 29 … … 38 33 count=parameters->Size(); 39 34 40 /*Create transformatio bvector for DG inputs*/35 /*Create transformation vector for DG inputs*/ 41 36 IoModelFetchData(&elements,NULL,NULL,iomodel_handle,"elements"); 42 37 part=(int*)xcalloc(iomodel->numberofelements*3,sizeof(int)); … … 50 45 51 46 /*Get vx: */ 52 IoModelFetchData(& vx,NULL,NULL,iomodel_handle,"vx");47 IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx"); 53 48 vx_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double)); 54 if( vx) for(i=0;i<3*iomodel->numberofelements;i++) vx_g[i]=vx[part[i]]/iomodel->yts;49 if(iomodel->vx) for(i=0;i<3*iomodel->numberofelements;i++) vx_g[i]=iomodel->vx[part[i]]/iomodel->yts; 55 50 56 51 count++; … … 58 53 param->SetDoubleVec(vx_g,3*iomodel->numberofelements,1); 59 54 parameters->AddObject(param); 60 xfree((void**)&vx); 55 xfree((void**)&iomodel->vx); 56 xfree((void**)&vx_g); 61 57 62 58 /*Get vy: */ 63 IoModelFetchData(& vy,NULL,NULL,iomodel_handle,"vy");59 IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy"); 64 60 vy_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double)); 65 if( vy) for(i=0;i<3*iomodel->numberofelements;i++) vy_g[i]=vy[part[i]]/iomodel->yts;61 if(iomodel->vy) for(i=0;i<3*iomodel->numberofelements;i++) vy_g[i]=iomodel->vy[part[i]]/iomodel->yts; 66 62 67 63 count++; … … 69 65 param->SetDoubleVec(vy_g,3*iomodel->numberofelements,1); 70 66 parameters->AddObject(param); 71 xfree((void**)&vy); 67 xfree((void**)&iomodel->vy); 68 xfree((void**)&vy_g); 72 69 73 70 /*Get thickness: */ 74 IoModelFetchData(& thickness,NULL,NULL,iomodel_handle,"thickness");71 IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness"); 75 72 h_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double)); 76 if( thickness) for(i=0;i<3*iomodel->numberofelements;i++) h_g[i]=thickness[part[i]];73 if(iomodel->thickness) for(i=0;i<3*iomodel->numberofelements;i++) h_g[i]=iomodel->thickness[part[i]]; 77 74 78 75 count++; … … 80 77 param->SetDoubleVec(h_g,3*iomodel->numberofelements,1); 81 78 parameters->AddObject(param); 82 xfree((void**)&thickness); 79 xfree((void**)&iomodel->thickness); 80 xfree((void**)&h_g); 83 81 84 82 /*Get accumulation: */ 85 IoModelFetchData(& accumulation,NULL,NULL,iomodel_handle,"accumulation");83 IoModelFetchData(&iomodel->accumulation,NULL,NULL,iomodel_handle,"accumulation"); 86 84 a_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double)); 87 if( accumulation) for(i=0;i<3*iomodel->numberofelements;i++) a_g[i]=accumulation[part[i]];85 if(iomodel->accumulation) for(i=0;i<3*iomodel->numberofelements;i++) a_g[i]=iomodel->accumulation[part[i]]/iomodel->yts; 88 86 89 87 count++; … … 91 89 param->SetDoubleVec(a_g,3*iomodel->numberofelements,1); 92 90 parameters->AddObject(param); 93 xfree((void**)&accumulation); 91 xfree((void**)&iomodel->accumulation); 92 xfree((void**)&a_g); 94 93 95 94 /*Get melting: */ 96 IoModelFetchData(& melting,NULL,NULL,iomodel_handle,"melting");95 IoModelFetchData(&iomodel->melting,NULL,NULL,iomodel_handle,"melting"); 97 96 m_g=(double*)xcalloc(iomodel->numberofelements*3,sizeof(double)); 98 if( melting) for(i=0;i<3*iomodel->numberofelements;i++) m_g[i]=melting[part[i]];97 if(iomodel->melting) for(i=0;i<3*iomodel->numberofelements;i++) m_g[i]=iomodel->melting[part[i]]/iomodel->yts; 99 98 100 99 count++; … … 102 101 param->SetDoubleVec(m_g,3*iomodel->numberofelements,1); 103 102 parameters->AddObject(param); 104 xfree((void**)&melting); 103 xfree((void**)&iomodel->melting); 104 xfree((void**)&m_g); 105 105 106 106 /*Free partitioning vector*/ 107 107 xfree((void**)&part); 108 108 109 xfree((void**)&vx_g);110 xfree((void**)&vy_g);111 xfree((void**)&h_g);112 xfree((void**)&a_g);113 xfree((void**)&m_g);114 115 109 /*Assign output pointer: */ 116 110 *pparameters=parameters;
Note:
See TracChangeset
for help on using the changeset viewer.