Changeset 3458


Ignore:
Timestamp:
04/08/10 08:49:02 (15 years ago)
Author:
Mathieu Morlighem
Message:

put all loaded variables in iomodel

Location:
issm/trunk/src/c/ModelProcessorx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/c/ModelProcessorx/DiagnosticHoriz/CreateParametersDiagnosticHoriz.cpp

    r3429 r3458  
    1717        int i;
    1818
    19         double* vx=NULL;
    20         double* vy=NULL;
    21         double* vz=NULL;
    2219        double* ug=NULL;
    2320
     
    3128
    3229        /*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");
    3633
    3734        ug=(double*)xcalloc(iomodel->numberofvertices*3,sizeof(double));
    3835
    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;
    4239
    4340        count++;
     
    4643        parameters->AddObject(param);
    4744
    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);
    5148        xfree((void**)&ug);
    5249       
  • issm/trunk/src/c/ModelProcessorx/Prognostic2/CreateParametersPrognostic2.cpp

    r3437 r3458  
    2222        int*     part;
    2323
    24         double* vx=NULL;
    2524        double* vx_g=NULL;
    26         double* vy=NULL;
    2725        double* vy_g=NULL;
    28         double* thickness=NULL;
    2926        double* h_g=NULL;
    30         double* accumulation=NULL;
    3127        double* a_g=NULL;
    32         double* melting=NULL;
    3328        double* m_g=NULL;
    3429
     
    3833        count=parameters->Size();
    3934
    40         /*Create transformatiob vector for DG inputs*/
     35        /*Create transformation vector for DG inputs*/
    4136        IoModelFetchData(&elements,NULL,NULL,iomodel_handle,"elements");
    4237        part=(int*)xcalloc(iomodel->numberofelements*3,sizeof(int));
     
    5045
    5146        /*Get vx: */
    52         IoModelFetchData(&vx,NULL,NULL,iomodel_handle,"vx");
     47        IoModelFetchData(&iomodel->vx,NULL,NULL,iomodel_handle,"vx");
    5348        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;
    5550
    5651        count++;
     
    5853        param->SetDoubleVec(vx_g,3*iomodel->numberofelements,1);
    5954        parameters->AddObject(param);
    60         xfree((void**)&vx);
     55        xfree((void**)&iomodel->vx);
     56        xfree((void**)&vx_g);
    6157
    6258        /*Get vy: */
    63         IoModelFetchData(&vy,NULL,NULL,iomodel_handle,"vy");
     59        IoModelFetchData(&iomodel->vy,NULL,NULL,iomodel_handle,"vy");
    6460        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;
    6662
    6763        count++;
     
    6965        param->SetDoubleVec(vy_g,3*iomodel->numberofelements,1);
    7066        parameters->AddObject(param);
    71         xfree((void**)&vy);
     67        xfree((void**)&iomodel->vy);
     68        xfree((void**)&vy_g);
    7269
    7370        /*Get thickness: */
    74         IoModelFetchData(&thickness,NULL,NULL,iomodel_handle,"thickness");
     71        IoModelFetchData(&iomodel->thickness,NULL,NULL,iomodel_handle,"thickness");
    7572        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]];
    7774
    7875        count++;
     
    8077        param->SetDoubleVec(h_g,3*iomodel->numberofelements,1);
    8178        parameters->AddObject(param);
    82         xfree((void**)&thickness);
     79        xfree((void**)&iomodel->thickness);
     80        xfree((void**)&h_g);
    8381
    8482        /*Get accumulation: */
    85         IoModelFetchData(&accumulation,NULL,NULL,iomodel_handle,"accumulation");
     83        IoModelFetchData(&iomodel->accumulation,NULL,NULL,iomodel_handle,"accumulation");
    8684        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;
    8886
    8987        count++;
     
    9189        param->SetDoubleVec(a_g,3*iomodel->numberofelements,1);
    9290        parameters->AddObject(param);
    93         xfree((void**)&accumulation);
     91        xfree((void**)&iomodel->accumulation);
     92        xfree((void**)&a_g);
    9493
    9594        /*Get melting: */
    96         IoModelFetchData(&melting,NULL,NULL,iomodel_handle,"melting");
     95        IoModelFetchData(&iomodel->melting,NULL,NULL,iomodel_handle,"melting");
    9796        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;
    9998
    10099        count++;
     
    102101        param->SetDoubleVec(m_g,3*iomodel->numberofelements,1);
    103102        parameters->AddObject(param);
    104         xfree((void**)&melting);
     103        xfree((void**)&iomodel->melting);
     104        xfree((void**)&m_g);
    105105
    106106        /*Free partitioning vector*/
    107107        xfree((void**)&part);
    108108
    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 
    115109        /*Assign output pointer: */
    116110        *pparameters=parameters;
Note: See TracChangeset for help on using the changeset viewer.