Changeset 18738


Ignore:
Timestamp:
11/05/14 15:46:34 (10 years ago)
Author:
srebuffi
Message:

CHG: added parameters for the GUI : iscalvingrate

Location:
issm/trunk-jpl/src/m
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/boundaryconditions/SetMarineIceSheetBC.m

    r17687 r18738  
    5454if strcmp(elementtype(md.mesh),'Penta'),
    5555        numbernodesfront=4;
     56        %I added the next part. If not, there would be no segments !
     57        md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements2d,md.mesh.numberofvertices2d);
     58        md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements2d,md.mesh.vertexconnectivity);
     59        segments2=contourenvelope(md);
     60        md.mesh.vertexonboundary=zeros(md.mesh.numberofvertices/md.mesh.numberoflayers,1); md.mesh.vertexonboundary(segments2(:,1:2))=1;
     61        md.mesh.vertexonboundary=repmat(md.mesh.vertexonboundary,md.mesh.numberoflayers,1);
     62        %Then do it for 3d as usual
     63        md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices);
     64        md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity);
    5665elseif strcmp(elementtype(md.mesh),'Tria'),
    5766        numbernodesfront=2;
     67        segments2=md.mesh.segments;
    5868else
    5969        error('mesh type not supported yet');
    6070end
    61 segmentsfront=md.mask.ice_levelset(md.mesh.segments(:,1:numbernodesfront))==0;
     71segmentsfront=md.mask.ice_levelset(segments2(:,1:numbernodesfront))==0;
    6272segments=find(sum(segmentsfront,2)~=numbernodesfront);
    6373%Find all nodes for these segments and spc them
    64 pos=md.mesh.segments(segments,1:numbernodesfront);
     74pos=segments2(segments,1:numbernodesfront);
    6575md.stressbalance.spcvx(pos(:))=0;
    6676md.stressbalance.spcvy(pos(:))=0;
  • issm/trunk-jpl/src/m/classes/clusters/hpc.m

    r18702 r18738  
    5050                 function md = checkconsistency(cluster,md,solution,analyses) % {{{
    5151
    52                          available_queues={'pub64','free64','free48','free*,pub64','free*'};
    53                          queue_requirements_time=[Inf Inf Inf Inf Inf];
    54                          queue_requirements_np=[64 64 48 48 48];
     52                         available_queues={'pub64','free64','free48','free*,pub64','free*','free*,free64'};
     53                         queue_requirements_time=[Inf Inf Inf Inf Inf Inf];
     54                         queue_requirements_np=[64 64 48 48 48 48];
    5555
    5656                         QueueRequirements(available_queues,queue_requirements_time,queue_requirements_np,cluster.queue,cluster.np,1)
     
    106106                         fprintf(fid,'#$ -pe one-node-mpi 2-64\n');
    107107                         fprintf(fid,'#$ -R y\n');
    108                          fprintf(fid,'#$ -m beas\n');
     108                         %fprintf(fid,'#$ -m beas\n');
    109109                         fprintf(fid,'#$ -o %s.outlog \n',modelname);
    110110                         fprintf(fid,'#$ -e %s.errlog \n\n',modelname);
  • issm/trunk-jpl/src/m/classes/masstransport.m

    r18346 r18738  
    77        properties (SetAccess=public)
    88                 spcthickness           = NaN;
     9                 iscalvingrate          = 0;
    910                 calvingrate            = NaN;
     11                 levermann_calving_coeff= 0;
    1012                 isfreesurface          = 0;
    1113                 min_thickness          = 0;
     
    4951            fprintf(fid,'%s\n%s\n%s\n','<frame key="1" label="Masstransport solution parameters">','<section name="masstransport" />');                   
    5052            fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="spcthickness" type="',class(obj.spcthickness),'" default="',convert2str(obj.spcthickness),'">','     <section name="masstransport" />','     <help> thickness constraints (NaN means no constraint) [m] </help>','  </parameter>');
     53                                fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="iscalvingrate" type="',class(obj.iscalvingrate),'" default="',convert2str(obj.iscalvingrate),'">','     <section name="masstransport" />','     <help> do we use calving (loss of ice) </help>','  </parameter>');
    5154            fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="calvingrate" type="',class(obj.calvingrate),'" default="',convert2str(obj.calvingrate),'">','     <section name="masstransport" />','     <help> calving rate at given location [m/a] </help>','  </parameter>');
     55                                fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="levermann_calving_coeff" type="',class(obj.levermann_calving_coeff),'" default="',convert2str(obj.levermann_calving_coeff),'">','     <section name="masstransport" />','     <help> Proportionality coefficient in Levermann model  </help>','  </parameter>');
    5256            fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="isfreesurface" type="',class(obj.isfreesurface),'" default="',convert2str(obj.isfreesurface),'">','     <section name="masstransport" />','     <help> do we use free surfaces (FS only) are mass conservation </help>','  </parameter>');
    5357            fprintf(fid,'%s%s%s%s%s\n%s\n%s\n%s\n','  <parameter key ="min_thickness" type="',class(obj.min_thickness),'" default="',convert2str(obj.min_thickness),'">','     <section name="masstransport" />','     <help> minimum ice thickness allowed [m] </help>','  </parameter>');
     
    100104                function obj = setdefaultparameters(obj) % {{{
    101105
     106                        %Proportionality coefficient in Levermann model
     107                        obj.levermann_calving_coeff=8e21;
     108                       
    102109                        %Type of stabilization to use 0:nothing 1:artificial_diffusivity 3:Discontinuous Galerkin
    103110                        obj.stabilization=1;
     
    122129                        md = checkfield(md,'fieldname','masstransport.spcthickness','forcing',1);
    123130                        if(ismember(LevelsetAnalysisEnum(), analyses) & md.transient.islevelset)
     131                                md = checkfield(md,'fieldname','masstransport.iscalvingrate','values',[0 1]);
    124132                                md = checkfield(md,'fieldname','masstransport.calvingrate','NaN',1,'size',[md.mesh.numberofvertices 1],'>=',0);
     133                                md = checkfield(md,'fieldname','masstransport.levermann_calving_coeff','>',0);
    125134                        end
    126135
     
    135144                        disp(sprintf('   Masstransport solution parameters:'));
    136145                        fielddisplay(obj,'spcthickness','thickness constraints (NaN means no constraint) [m]');
     146                        fielddisplay(obj,'iscalvingrate','do we use calving (loss of ice)');
    137147                        fielddisplay(obj,'calvingrate','calving rate at given location [m/a]');
     148                        fielddisplay(obj,'levermann_calving_coeff','proportionality coefficient in Levermann model');
    138149                        fielddisplay(obj,'isfreesurface','do we use free surfaces (FS only) are mass conservation');
    139150                        fielddisplay(obj,'min_thickness','minimum ice thickness allowed [m]');
     
    153164                        WriteData(fid,'object',obj,'fieldname','spcthickness','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1);
    154165                        WriteData(fid,'object',obj,'fieldname','calvingrate','format','DoubleMat','mattype',1,'forcinglength',md.mesh.numberofvertices+1,'scale',1./yts);
     166                        WriteData(fid,'object',obj,'fieldname','iscalvingrate','format','Boolean');
    155167                        WriteData(fid,'object',obj,'fieldname','isfreesurface','format','Boolean');
     168                        WriteData(fid,'object',obj,'fieldname','levermann_calving_coeff','format','Double');
    156169                        WriteData(fid,'object',obj,'fieldname','min_thickness','format','Double');
    157170                        WriteData(fid,'data',StringToEnum(obj.hydrostatic_adjustment),'format','Integer','enum',MasstransportHydrostaticAdjustmentEnum());
  • issm/trunk-jpl/src/m/classes/model.m

    r18578 r18738  
    304304                        if ~isnan(md.mesh.elementconnectivity), mesh.elementconnectivity=project2d(md,md.mesh.elementconnectivity,1); end
    305305                        md.mesh=mesh;
     306                        md.mesh.vertexconnectivity=NodeConnectivity(md.mesh.elements,md.mesh.numberofvertices);
     307                        md.mesh.elementconnectivity=ElementConnectivity(md.mesh.elements,md.mesh.vertexconnectivity);
     308                        md.mesh.segments=contourenvelope(md);
    306309
    307310                end % }}}
  • issm/trunk-jpl/src/m/os/oshostname.m

    r16959 r18738  
    55%
    66%
     7hostname='sylvestre';
     8return;
    79
    810if ispc(),
  • issm/trunk-jpl/src/m/solve/waitonlock.m

    r18368 r18738  
    6161                time=etime(clock,time0)/60;
    6262        else
    63                 pause(5);
     63                pause(60);
    6464                time=etime(clock,time0);
    6565                fprintf('\rchecking for job completion (time: %i min %i sec)      ',floor(time/60),floor(rem(time,60)));
Note: See TracChangeset for help on using the changeset viewer.