Changeset 22162


Ignore:
Timestamp:
10/10/17 13:17:23 (7 years ago)
Author:
Eric.Larour
Message:

CHG: added Ngia and Ugia in slr class.

Location:
issm/branches/trunk-larour-NatGeoScience2016/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/analyses/SealevelriseAnalysis.cpp

    r22160 r22162  
    5050        iomodel->FetchDataToInput(elements,"md.slr.sealevel",SealevelEnum,0);
    5151        iomodel->FetchDataToInput(elements,"md.geometry.bed",BedEnum);
     52        iomodel->FetchDataToInput(elements,"md.slr.Ngia",SealevelNGiaRateEnum);
     53        iomodel->FetchDataToInput(elements,"md.slr.Ugia",SealevelUGiaRateEnum);
    5254
    5355        /*Initialize cumdeltalthickness and sealevel rise rate input: unfortunately, we don't have femmodel, so we
     
    5961                        element->InputUpdateFromConstant(0.0,SealevelriseCumDeltathicknessEnum);
    6062                        element->InputUpdateFromConstant(0.0,SealevelNEsaRateEnum);
    61                         element->InputUpdateFromConstant(0.0,SealevelNGiaRateEnum);
    6263                        element->InputUpdateFromConstant(0.0,SealevelUEsaRateEnum);
    63                         element->InputUpdateFromConstant(0.0,SealevelUGiaRateEnum);
    6464                        counter++;
    6565                }
  • issm/branches/trunk-larour-NatGeoScience2016/src/c/cores/sealevelrise_core.cpp

    r22160 r22162  
    527527void sealevelrise_core_viscous(Vector<IssmDouble>** pU_gia, Vector<IssmDouble>** pN_gia,FemModel* femmodel,Vector<IssmDouble>* RSLg){ /*{{{*/
    528528
     529        /*variables:*/
    529530        Vector<IssmDouble> *U_gia  = NULL;
    530531        Vector<IssmDouble> *N_gia  = NULL;
    531                
    532         int configuration_type;
    533         int  gsize;
     532       
     533        /*parameters:*/
     534        int                                     frequency;
     535        IssmDouble          dt;
    534536
    535537        /*retrieve some parameters:*/
    536         femmodel->parameters->FindParam(&configuration_type,ConfigurationTypeEnum);
    537 
    538         /*find size of vectors:*/
    539         gsize      = femmodel->nodes->NumberOfDofs(configuration_type,GsetEnum);
    540 
    541         /*intialize vectors:*/
    542         U_gia = new Vector<IssmDouble>(gsize); U_gia->Set(0);
    543         N_gia = new Vector<IssmDouble>(gsize); N_gia->Set(0);
     538        femmodel->parameters->FindParam(&frequency,SealevelriseGeodeticRunFrequencyEnum);
     539        femmodel->parameters->FindParam(&dt,TimesteppingTimeStepEnum);
     540
     541        /*recover GIA rates:*/
     542        GetVectorFromInputsx(&U_gia,femmodel,SealevelUGiaRateEnum,VertexSIdEnum);
     543        GetVectorFromInputsx(&N_gia,femmodel,SealevelNGiaRateEnum,VertexSIdEnum);
     544
     545        /*we just loaded rates, that's not what's being asked, scale by time:*/
     546        U_gia->Scale(frequency*dt);
     547        N_gia->Scale(frequency*dt);
    544548
    545549        /*Assign output pointers:*/
  • issm/branches/trunk-larour-NatGeoScience2016/src/m/classes/slr.m

    r22155 r22162  
    3131                loop_increment = 0;
    3232                horiz = 0;
     33                Ngia  = 0;
     34                Ugia  = 0;
    3335                requested_outputs      = {};
    3436                transitions    = {};
     
    118120                        md = checkfield(md,'fieldname','slr.loop_increment','NaN',1,'Inf',1,'>=',1);
    119121                        md = checkfield(md,'fieldname','slr.horiz','NaN',1,'Inf',1,'values',[0 1]);
     122                        md = checkfield(md,'fieldname','slr.Ngia','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
     123                        md = checkfield(md,'fieldname','slr.Ugia','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    120124
    121125                        %check that love numbers are provided at the same level of accuracy:
     
    171175                        fielddisplay(self,'ocean_area_scaling','correction for model representation of ocean area [default: No correction]');
    172176                        fielddisplay(self,'steric_rate','rate of steric ocean expansion (in mm/yr)');
     177                        fielddisplay(self,'Ngia','rate of viscous (GIA) geoid expansion (in mm/yr)');
     178                        fielddisplay(self,'Ugia','rate of viscous (GIA) bedrock uplift (in mm/yr)');
    173179                        fielddisplay(self,'geodetic_run_frequency','how many time steps we skip before we run SLR solver during transient (default: 1)');
    174180                        fielddisplay(self,'rigid','rigid earth graviational potential perturbation');
     
    203209                        WriteData(fid,prefix,'object',self,'fieldname','geodetic_run_frequency','format','Integer');
    204210                        WriteData(fid,prefix,'object',self,'fieldname','steric_rate','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts);
     211                        WriteData(fid,prefix,'object',self,'fieldname','Ngia','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts);
     212                        WriteData(fid,prefix,'object',self,'fieldname','Ugia','format','DoubleMat','mattype',1,'scale',1e-3/md.constants.yts);
    205213                        WriteData(fid,prefix,'object',self,'fieldname','degacc','format','Double');
    206214                        WriteData(fid,prefix,'object',self,'fieldname','transitions','format','MatArray');
Note: See TracChangeset for help on using the changeset viewer.