Changeset 9629


Ignore:
Timestamp:
09/06/11 15:55:32 (14 years ago)
Author:
Mathieu Morlighem
Message:

Added groundingline object

Location:
issm/trunk
Files:
1 added
1 deleted
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk/src/m/classes/model/model.m

    r9628 r9629  
    2525                 miscellaneous = modelfield('default',0,'marshall',true);
    2626                 timestepping = modelfield('default',0,'marshall',true);
     27                 groundingline = modelfield('default',0,'marshall',true);
    2728
    2829                 %FIXME: all other fields should belong to other classes
     
    193194                 temperature                    = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1); %temperature solution vector
    194195                 waterfraction                  = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    195                  groundingline_melting_rate                = modelfield('default',NaN,'marshall',true,'format','Double');
    196196                 pressure                       = modelfield('default',NaN,'marshall',true,'format','DoubleMat','mattype',1);
    197197                 %Hydrology
     
    226226                 ad_forward = modelfield('default',true,'marshall',true,'format','Boolean');
    227227                 ad_reverse = modelfield('default',false,'marshall',true,'format','Boolean');
    228 
    229                  %grounding line migration:
    230                  groundingline_migration = modelfield('default','','marshall',true,'preprocess','StringToEnum','format','Integer');
    231228
    232229                 %partitioner:
     
    468465                         end
    469466                         if isnumeric(structmd.groundingline_migration),
    470                                  if (structmd.groundingline_migration==272), md.groundingline_migration='None';      end
    471                                  if (structmd.groundingline_migration==273), md.groundingline_migration='AgressiveMigration';  end
    472                                  if (structmd.groundingline_migration==274), md.groundingline_migration='SoftMigration'; end
     467                                 if (structmd.groundingline_migration==272), md.groundingline.migration='None';      end
     468                                 if (structmd.groundingline_migration==273), md.groundingline.migration='AgressiveMigration';  end
     469                                 if (structmd.groundingline_migration==274), md.groundingline.migration='SoftMigration'; end
    473470                         end
    474471                         if isnumeric(md.control_type),
     
    538535                         md.miscellaneous=miscellaneous;
    539536                         md.timestepping=timestepping;
     537                         md.groundingline=groundingline;
    540538
    541539                         %Materials parameters
     
    552550                         %ice latent heat of fusion L (J/kg)
    553551                         md.latentheat=3.34*10^5;
    554 
    555                          %basal melting rate correction:
    556                          md.groundingline_melting_rate=0;
    557552
    558553                         %ice thermal conductivity lamda (W/m/K)
     
    683678                         %NaN if not applied
    684679                         md.eps_cm=NaN; %not activated
    685 
    686                          %grounding line migration:
    687                          md.groundingline_migration='None';
    688680
    689681                         %How often to save results, default is 1 so save every step
  • issm/trunk/src/m/model/ismodelselfconsistent.m

    r9628 r9629  
    120120end
    121121%GROUNDING LINE MIGRATION {{{1
    122 if ~ismember({md.groundingline_migration},{'None' 'AgressiveMigration' 'SoftMigration'}),
    123         message(['model not consistent: model ' md.miscellaneous.name ' groundingline_migration field should be ''None'' ''AgressiveMigration'' or ''SoftMigration''']);
    124 end
    125 if ~strcmp(md.groundingline_migration,'None'),
     122if ~ismember({md.groundingline.migration},{'None' 'AgressiveMigration' 'SoftMigration'}),
     123        message(['model not consistent: model ' md.miscellaneous.name ' groundingline.migration field should be ''None'' ''AgressiveMigration'' or ''SoftMigration''']);
     124end
     125if ~strcmp(md.groundingline.migration,'None'),
    126126        if (md.dim==3 | strcmpi(md.cluster.name,'none')),
    127127                message(['model ' md.miscellaneous.name ' requesting grounding line migration, but grounding line module only implemented for 2d models and parallel runs!']);
  • issm/trunk/src/m/model/tres.m

    r9619 r9629  
    6767                        results2(count).time=md.results.TransientSolution(i).time;
    6868                        results2(count).step=md.results.TransientSolution(i).step;
    69                         if ~strcmpi(md.groundingline_migration,'None'),
     69                        if ~strcmpi(md.groundingline.migration,'None'),
    7070                                results2(count).ElementOnIceShelf=md.results.TransientSolution(i).ElementOnIceShelf;
    7171                        end
  • issm/trunk/template

    r9628 r9629  
    163163   isgroundingline -> add
    164164   requested_outputs
    165 }}}
    166 goundingline {{{
    167         groundingline_migration -> rename migration_type
    168         groundingline_melting_rate -> rename melting_rate
    169165}}}
    170166inversion{{{
  • issm/trunk/test/NightlyRun/test446.m

    r9516 r9629  
    4343%test different grounding line dynamics.
    4444%grounding line:
    45 md.groundingline_migration='AgressiveMigration';
     45md.groundingline.migration='AgressiveMigration';
    4646md=solve(md,GroundinglineMigration2DSolutionEnum);
    4747element_on_iceshelf_agressive=PatchToVec(md.results.GroundinglineMigration2DSolution.ElementOnIceShelf);
    4848
    49 md.groundingline_migration='SoftMigration';
     49md.groundingline.migration='SoftMigration';
    5050md=solve(md,GroundinglineMigration2DSolutionEnum);
    5151element_on_iceshelf_soft=PatchToVec(md.results.GroundinglineMigration2DSolution.ElementOnIceShelf);
  • issm/trunk/test/Par/RoundSheetShelf.par

    r9628 r9629  
    6868
    6969%bathymetry and grounding line migration:
    70 md.groundingline_migration='AgressiveMigration';
     70md.groundingline.migration='AgressiveMigration';
    7171md.bathymetry=md.bed;
    7272pos=find(md.nodeoniceshelf); md.bathymetry(pos)=md.bed(pos)-900;
Note: See TracChangeset for help on using the changeset viewer.