Changeset 11236


Ignore:
Timestamp:
01/27/12 08:16:48 (13 years ago)
Author:
Eric.Larour
Message:

trunk and trunk-jpl merge

Location:
issm/trunk-jpl
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl

  • issm/trunk-jpl/AUTHORS

    r11076 r11236  
    22multi-purpose finite element framework dedicated to ice sheet modeling
    33
    4 Team manager:
     4Project Scientist:
    55   Eric Rignot <eric.rignot@jpl.nasa.gov>
    66
    7 Development manager:
     7Project Manager:
    88   Eric Larour <eric.larour@jpl.nasa.gov>
    99
    1010Current core developers:
    1111   * Eric Larour <eric.larour@jpl.nasa.gov>
    12         * Helene Seroussi <helene.seroussi@jpl.nasa.gov>
     12   * Helene Seroussi <helene.seroussi@jpl.nasa.gov>
    1313   * Mathieu Morlighem <mathieu.morlighem@jpl.nasa.gov>
    1414
  • issm/trunk-jpl/NEWS

    r2620 r11236  
     1
    12please go to the ISSM website for the latest news:
    23
  • issm/trunk-jpl/doc/issmdoc.m

    r11030 r11236  
    99disp(sprintf('%s','        md=model;                                %creates a new empty model structure'));
    1010disp(sprintf('%s','        md=triangle(md,''DomainOutline.exp'',50000);   %creates a mesh of the domain outline with a resolution of 50000m'));
    11 disp(sprintf('%s','        md=setmask(md,''all'','''');               %defines the glacier system as an ice shelf (no island)'));
     11disp(sprintf('%s','        md=geography(md,''all'','''');               %defines the glacier system as an ice shelf (no island)'));
    1212disp(sprintf('%s','        md=parameterize(md,''Square.par'');        %fills all the other fields of the model'));
    13 disp(sprintf('%s','        md=setflowequation(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
    14 disp(sprintf('%s','        md=solve(md,DiagnosticSolutionEnum);   %generate the velocity field of the ice shelf'));
    15 disp(sprintf('%s','        plotmodel(md,''data'',md.results.DiagnosticSolucion.Vel);              %displays the velocity (type plotdoc for plotmodel help)'));
     13disp(sprintf('%s','        md=setelementstype(md,''macayeal'',''all''); %defines all elements as MacAyeal''s'));
     14disp(sprintf('%s','        md=solve(md,DiagnosticSolutionEnum);   %generate the velocity field'));
     15disp(sprintf('%s','        plotmodel(md,''data'',md.results.DiagnosticSolution.Vel);    %displays the velocity (type plotdoc for plotmodel help)'));
  • issm/trunk-jpl/examples/SquareIceShelf/Square.par

    r11132 r11236  
    1111
    1212disp('      creating drag');
    13 pos=find(md.mask.elementonfloatingice);
    14 md.friction.coefficient=200*ones(md.mesh.numberofvertices,1); %q=1.
    15 md.friction.coefficient(md.mesh.elements(pos,:))=0;
     13pos=find(md.mask.vertexonfloatingice);
     14md.friction.coefficient=200*ones(md.mesh.numberofvertices,1);
     15md.friction.coefficient(pos)=0;
    1616md.friction.p=ones(md.mesh.numberofelements,1);
    1717md.friction.q=ones(md.mesh.numberofelements,1);
  • issm/trunk-jpl/src/c/Container/Elements.cpp

    r11184 r11236  
    180180        int    numberofvertices,numberofelements;
    181181        int    numberofresults,vectorsize;
    182         int    rank;
    183         int    minrank;
    184182
    185183        /*Recover parameters: */
     
    192190                /*No patch here, we prepare vectors*/
    193191
    194                 /*Get rank of first cpu that has results*/
    195                 if(this->Size()) rank=my_rank;
    196                 else rank=num_procs;
    197                 MPI_Allreduce (&rank,&minrank,1,MPI_INT,MPI_MIN,MPI_COMM_WORLD);
    198 
    199192                /*see what the first element of this partition has in stock (this is common to all partitions)*/
    200                 if(my_rank==minrank){
    201                         if(this->Size()==0) _error_("Cannot write results because there is no element??");
     193                if(my_rank==0){
     194                        if(this->Size()==0) _error_("Cannot write results because first partition has no element. Maybe too many cpus were requested");
    202195                        Element* element=(Element*)this->GetObjectByOffset(0);
    203196                        element->ListResultsInfo(&resultsenums,&resultssizes,&resultstimes,&resultssteps,&numberofresults);
    204197                }
    205                 MPI_Bcast(&numberofresults,1,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
    206 
     198                MPI_Bcast(&numberofresults,1,MPI_DOUBLE,0,MPI_COMM_WORLD);
    207199                /*Get out if there is no results. Otherwise broadcast info*/
    208200                if(!numberofresults) return;
    209                 if(my_rank!=minrank){
     201                if(my_rank!=0){
    210202                        resultsenums=(int*)xmalloc(numberofresults*sizeof(int));
    211203                        resultssizes=(int*)xmalloc(numberofresults*sizeof(int));
     
    213205                        resultssteps=(int*)xmalloc(numberofresults*sizeof(int));
    214206                }
    215                 MPI_Bcast(resultsenums,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
    216                 MPI_Bcast(resultssizes,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
    217                 MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,minrank,MPI_COMM_WORLD);
    218                 MPI_Bcast(resultssteps,numberofresults,MPI_INT,minrank,MPI_COMM_WORLD);
     207                MPI_Bcast(resultsenums,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
     208                MPI_Bcast(resultssizes,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
     209                MPI_Bcast(resultstimes,numberofresults,MPI_DOUBLE,0,MPI_COMM_WORLD);
     210                MPI_Bcast(resultssteps,numberofresults,MPI_INT,0,MPI_COMM_WORLD);
    219211
    220212                /*Loop over all results and get nodal vector*/
  • issm/trunk-jpl/src/c/modules/Chacox/chaco_seconds.cpp

    r11094 r11236  
    1818/* This timer is faster and more robust (if it exists). */
    1919    struct rusage rusage;
    20     int getrusage();
     20    /*int getrusage(); commenting this out. not sure why it's there anymore
     21         *as it clobbers the prototype int getrusag(int target,rusage* results) which
     22         *is defined in the <sys/time.h> and <sys/resource.h> header files. Leaving it
     23         *for reference in case we have a problem here in the future*/
    2124 
    2225    getrusage(RUSAGE_SELF, &rusage);
  • issm/trunk-jpl/src/c/objects/Vertex.cpp

    r11197 r11236  
    7171        printf("   z: %g\n",z);
    7272        printf("   sigma: %g\n",sigma);
    73         printf("   connectivity: %i\n",connectivity);
     73        printf("   connectivity: %g\n",connectivity);
    7474        printf("   dof: %i\n",dof);
    7575        printf("   clone: %i\n",clone);
  • issm/trunk-jpl/src/dox/issm.dox

    r10625 r11236  
    4646</th>
    4747<tr>
    48 <th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">531</td><td  bgcolor=#FFFFFF style="text-align:right;">15433</td><td  bgcolor=#FFFFFF style="text-align:right;">17169</td><td  bgcolor=#FFFFFF style="text-align:right;">57344</td><td  bgcolor=#FFFFFF style="text-align:right;">89946</td>
     48<th  bgcolor=#FFFFFF style="text-align:left;"> C++ </th><td  bgcolor=#FFFFFF style="text-align:right;">533</td><td  bgcolor=#FFFFFF style="text-align:right;">15543</td><td  bgcolor=#FFFFFF style="text-align:right;">17244</td><td  bgcolor=#FFFFFF style="text-align:right;">57848</td><td  bgcolor=#FFFFFF style="text-align:right;">90635</td>
    4949</tr>
    5050<tr>
    51 <th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">970</td><td  bgcolor=#C6E2FF style="text-align:right;">7248</td><td  bgcolor=#C6E2FF style="text-align:right;">13716</td><td  bgcolor=#C6E2FF style="text-align:right;">31608</td><td  bgcolor=#C6E2FF style="text-align:right;">52572</td>
     51<th  bgcolor=#C6E2FF style="text-align:left;"> MATLAB </th><td  bgcolor=#C6E2FF style="text-align:right;">970</td><td  bgcolor=#C6E2FF style="text-align:right;">7187</td><td  bgcolor=#C6E2FF style="text-align:right;">13630</td><td  bgcolor=#C6E2FF style="text-align:right;">31601</td><td  bgcolor=#C6E2FF style="text-align:right;">52418</td>
    5252</tr>
    5353<tr>
    54 <th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">397</td><td  bgcolor=#FFFFFF style="text-align:right;">3047</td><td  bgcolor=#FFFFFF style="text-align:right;">2706</td><td  bgcolor=#FFFFFF style="text-align:right;">10262</td><td  bgcolor=#FFFFFF style="text-align:right;">16015</td>
     54<th  bgcolor=#FFFFFF style="text-align:left;"> C/C++  Header </th><td  bgcolor=#FFFFFF style="text-align:right;">399</td><td  bgcolor=#FFFFFF style="text-align:right;">3064</td><td  bgcolor=#FFFFFF style="text-align:right;">2726</td><td  bgcolor=#FFFFFF style="text-align:right;">10343</td><td  bgcolor=#FFFFFF style="text-align:right;">16133</td>
    5555</tr>
    5656<tr>
    57 <th  bgcolor=#C6E2FF style="text-align:left;"> Objective  C </th><td  bgcolor=#C6E2FF style="text-align:right;">32</td><td  bgcolor=#C6E2FF style="text-align:right;">99</td><td  bgcolor=#C6E2FF style="text-align:right;">0</td><td  bgcolor=#C6E2FF style="text-align:right;">402</td><td  bgcolor=#C6E2FF style="text-align:right;">501</td>
     57<th  bgcolor=#C6E2FF style="text-align:left;"> m4 </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">238</td><td  bgcolor=#C6E2FF style="text-align:right;">163</td><td  bgcolor=#C6E2FF style="text-align:right;">1871</td><td  bgcolor=#C6E2FF style="text-align:right;">2272</td>
    5858</tr>
    5959<tr>
    60 <th  bgcolor=#FFFFFF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#FFFFFF style="text-align:right;">9</td><td  bgcolor=#FFFFFF style="text-align:right;">59</td><td  bgcolor=#FFFFFF style="text-align:right;">98</td><td  bgcolor=#FFFFFF style="text-align:right;">272</td><td  bgcolor=#FFFFFF style="text-align:right;">429</td>
     60<th  bgcolor=#FFFFFF style="text-align:left;"> Objective  C </th><td  bgcolor=#FFFFFF style="text-align:right;">9</td><td  bgcolor=#FFFFFF style="text-align:right;">98</td><td  bgcolor=#FFFFFF style="text-align:right;">0</td><td  bgcolor=#FFFFFF style="text-align:right;">370</td><td  bgcolor=#FFFFFF style="text-align:right;">468</td>
    6161</tr>
    6262<tr>
    63 <th  bgcolor=#C6E2FF style="text-align:left;"> Perl </th><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">21</td><td  bgcolor=#C6E2FF style="text-align:right;">23</td><td  bgcolor=#C6E2FF style="text-align:right;">240</td><td  bgcolor=#C6E2FF style="text-align:right;">284</td>
     63<th  bgcolor=#C6E2FF style="text-align:left;"> Bourne  Shell </th><td  bgcolor=#C6E2FF style="text-align:right;">8</td><td  bgcolor=#C6E2FF style="text-align:right;">59</td><td  bgcolor=#C6E2FF style="text-align:right;">98</td><td  bgcolor=#C6E2FF style="text-align:right;">262</td><td  bgcolor=#C6E2FF style="text-align:right;">419</td>
    6464</tr>
    6565<tr>
    66 <th  bgcolor=#FFFFFF style="text-align:left;"> IDL </th><td  bgcolor=#FFFFFF style="text-align:right;">1</td><td  bgcolor=#FFFFFF style="text-align:right;">18</td><td  bgcolor=#FFFFFF style="text-align:right;">4</td><td  bgcolor=#FFFFFF style="text-align:right;">124</td><td  bgcolor=#FFFFFF style="text-align:right;">146</td>
     66<th  bgcolor=#FFFFFF style="text-align:left;"> Perl </th><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">21</td><td  bgcolor=#FFFFFF style="text-align:right;">23</td><td  bgcolor=#FFFFFF style="text-align:right;">240</td><td  bgcolor=#FFFFFF style="text-align:right;">284</td>
    6767</tr>
    6868<tr>
    69 <th  bgcolor=#C6E2FF style="text-align:left;"> C </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">3</td><td  bgcolor=#C6E2FF style="text-align:right;">24</td><td  bgcolor=#C6E2FF style="text-align:right;">30</td>
     69<th  bgcolor=#C6E2FF style="text-align:left;"> IDL </th><td  bgcolor=#C6E2FF style="text-align:right;">1</td><td  bgcolor=#C6E2FF style="text-align:right;">18</td><td  bgcolor=#C6E2FF style="text-align:right;">4</td><td  bgcolor=#C6E2FF style="text-align:right;">124</td><td  bgcolor=#C6E2FF style="text-align:right;">146</td>
    7070</tr>
    7171<tr>
    72 <th  bgcolor=#FFFFFF style="text-align:left;"> Python </th><td  bgcolor=#FFFFFF style="text-align:right;">2</td><td  bgcolor=#FFFFFF style="text-align:right;">1</td><td  bgcolor=#FFFFFF style="text-align:right;">4</td><td  bgcolor=#FFFFFF style="text-align:right;">13</td><td  bgcolor=#FFFFFF style="text-align:right;">18</td>
     72<th  bgcolor=#FFFFFF style="text-align:left;"> C </th><td  bgcolor=#FFFFFF style="text-align:right;">2</td><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">3</td><td  bgcolor=#FFFFFF style="text-align:right;">24</td><td  bgcolor=#FFFFFF style="text-align:right;">30</td>
    7373</tr>
    7474<tr>
    75 <th  bgcolor=#C6E2FF style="text-align:left;"> SUM: </th><td  bgcolor=#C6E2FF style="text-align:right;">1947</td><td  bgcolor=#C6E2FF style="text-align:right;">25929</td><td  bgcolor=#C6E2FF style="text-align:right;">33723</td><td  bgcolor=#C6E2FF style="text-align:right;">100289</td><td  bgcolor=#C6E2FF style="text-align:right;">159941</td>
     75<th  bgcolor=#C6E2FF style="text-align:left;"> Python </th><td  bgcolor=#C6E2FF style="text-align:right;">2</td><td  bgcolor=#C6E2FF style="text-align:right;">1</td><td  bgcolor=#C6E2FF style="text-align:right;">4</td><td  bgcolor=#C6E2FF style="text-align:right;">13</td><td  bgcolor=#C6E2FF style="text-align:right;">18</td>
     76</tr>
     77<tr>
     78<th  bgcolor=#FFFFFF style="text-align:left;"> SUM: </th><td  bgcolor=#FFFFFF style="text-align:right;">1929</td><td  bgcolor=#FFFFFF style="text-align:right;">26232</td><td  bgcolor=#FFFFFF style="text-align:right;">33895</td><td  bgcolor=#FFFFFF style="text-align:right;">102696</td><td  bgcolor=#FFFFFF style="text-align:right;">162823</td>
    7679</tr>
    7780</table>
     
    7982
    8083
     84
    8185        <I> Copyright (C) 2011 </I>
    8286  */
  • issm/trunk-jpl/src/m/classes/inversion.m

    r11220 r11236  
    108108                        fielddisplay(obj,'control_parameters','parameter where inverse control is carried out; ex: {''FrictionCoefficient''}, or {''MaterialsRheologyBbar''}');
    109109                        fielddisplay(obj,'nsteps','number of optimization searches');
    110                         fielddisplay(obj,'cost_functions','indicate the type of response for each optimization step');
     110                        fielddisplay(obj,'cost_functions','indicate the type of response for each optimization steps');
    111111                        fielddisplay(obj,'cost_functions_coefficients','cost_functions_coefficients applied to the misfit of each vertex and for each control_parameter');
    112112                        fielddisplay(obj,'cost_function_threshold','misfit convergence criterion. Default is 1%, NaN if not applied');
  • issm/trunk-jpl/src/m/utils/Geometry/FlagElements.m

    r9734 r11236  
    3232                        %does the region domain outline exist or do we have to look for xlim,ylim in basinzoom?
    3333                        if ~exist(region,'file'),
     34                                if (length(region)>3 & ~strcmp(region(end-3),'.exp')),
     35                                        error(['Error: File ' region ' not found!']);
     36                                end
    3437                                [xlim,ylim]=basinzoom('basin',region);
    3538                                flag_nodes=double(md.mesh.x<xlim(2) & md.mesh.x>xlim(1) &  md.mesh.y<ylim(2) & md.mesh.y>ylim(1));
Note: See TracChangeset for help on using the changeset viewer.