Changeset 14573


Ignore:
Timestamp:
04/15/13 11:47:18 (12 years ago)
Author:
bdef
Message:

NEW: definition of the hydrological inputs

Location:
issm/trunk-jpl
Files:
6 added
2 deleted
15 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/configure.ac

    r14485 r14573  
    2121#Initialize automake and declare foreign so that we don't need a ChangeLog, INSTALL, etc
    2222AM_INIT_AUTOMAKE([foreign])
    23 AM_CONFIG_HEADER([./config.h])   #Config file must be config.h
     23AC_CONFIG_HEADERS([./config.h])   #Config file must be config.h
    2424AM_SILENT_RULES([yes])           #Do not show compilation command by default
    2525AM_PROG_CC_C_O
  • issm/trunk-jpl/externalpackages/matlab/install.sh

    r13949 r14573  
    1010#ln -s /usr/local/matlab704/ install
    1111#ln -s /usr/local/matlab711/ install
    12 ln -s /usr/local/matlab712/ install
     12#ln -s /usr/local/matlab712/ install
    1313
    1414# Macintosh (OSX) simlink
     
    1616#ln -s /Applications/MATLAB_R2009a.app/ install
    1717#ln -s /Applications/MATLAB_R2010a.app/ install
    18 #ln -s /Applications/MATLAB_R2012a.app/ install
     18ln -s /Applications/MATLAB_R2012a.app/ install
    1919#ln -s /Applications/MATLAB_R2011a.app/ install
    2020#ln -s /Applications/MATLAB*.app/ install
  • issm/trunk-jpl/externalpackages/vim/addons/vimrc

    r13705 r14573  
    194194" Abbreviations {{{
    195195" ----------------------------------------------------------------------
    196 "func Eatchar(pat)
    197 "       let c = nr2char(getchar())
    198 "       return (c =~ a:pat) ? '' : c
    199 "endfunc
    200 "au BufRead,BufNewFile *.html     iabbr <silent> H1 <h1></h1><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    201 "au BufRead,BufNewFile *.html     iabbr <silent> H2 <h2></h2><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    202 "au BufRead,BufNewFile *.html     iabbr <silent> H3 <h3></h3><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    203 "au BufRead,BufNewFile *.html     iabbr <silent> CO <code></code><Left><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    204 "au BufRead,BufNewFile *.html     iabbr <silent> PP <p></p><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    205 "au BufRead,BufNewFile *.m        iabbr <silent> p1  disp('');<Left><Left><Left><C-R>=Eatchar('\s')<CR>
    206 "au BufRead,BufNewFile *.m        iab <expr> p0  "disp('-------------- file: ".expand('%')." line: ".line(".")."');"
    207 "au BufRead,BufNewFile *.c*       iabbr <silent> p1  printf("\n");<Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
    208 "au BufRead,BufNewFile *.c*,*.h   iabbr <silent> ER  _error_("");<Left><Left><Left><C-R>=Eatchar('\s')<CR>
    209 "au BufRead,BufNewFile *.c*       ab VV VecView(ug,PETSC_VIEWER_STDOUT_WORLD);
    210 "au BufRead,BufNewFile *.c*       ab AS _assert_();
    211 "au BufRead,BufNewFile *.c*       iab <expr> p0  "printf(\"-------------- file: ".expand('%')." line: %i\\n\",__LINE__);"
    212 "au BufRead,BufNewFile *.c*       iab <expr> pp0 "PetscSynchronizedPrintf(MPI_COMM_WORLD,\"-------------- file: ".expand('%')." line: %i\\n\",__LINE__);\nPetscSynchronizedFlush(MPI_COMM_WORLD);"
    213 ""tex
    214 "au BufRead,BufNewFile *.tex iab EQ
    215 "                       \\begin{equation}
    216 "                       \<CR>\end{equation}<up><C-R>=Eatchar('\s')<CR>
    217 "au BufRead,BufNewFile *.tex iab IT
    218 "                       \\begin{itemize}
    219 "                       \<CR>\item
    220 "                       \<CR>\end{itemize}<up><C-R>=Eatchar('\s')<CR>
    221 "au BufRead,BufNewFile *.tex iab EN
    222 "                       \\begin{enumerate}
    223 "                       \<CR>\item
    224 "                       \<CR>\end{enumerate}<up><C-R>=Eatchar('\s')<CR>
    225 "au BufRead,BufNewFile *.tex ab (()) \left( \right)
     196func Eatchar(pat)
     197        let c = nr2char(getchar())
     198        return (c =~ a:pat) ? '' : c
     199endfunc
     200au BufRead,BufNewFile *.html     iabbr <silent> H1 <h1></h1><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     201au BufRead,BufNewFile *.html     iabbr <silent> H2 <h2></h2><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     202au BufRead,BufNewFile *.html     iabbr <silent> H3 <h3></h3><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     203au BufRead,BufNewFile *.html     iabbr <silent> CO <code></code><Left><Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     204au BufRead,BufNewFile *.html     iabbr <silent> PP <p></p><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     205au BufRead,BufNewFile *.m        iabbr <silent> p1  disp('');<Left><Left><Left><C-R>=Eatchar('\s')<CR>
     206au BufRead,BufNewFile *.m        iab <expr> p0  "disp('-------------- file: ".expand('%')." line: ".line(".")."');"
     207au BufRead,BufNewFile *.c*       iabbr <silent> p1  printf("\n");<Left><Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>
     208au BufRead,BufNewFile *.c*,*.h   iabbr <silent> ER  _error_("");<Left><Left><Left><C-R>=Eatchar('\s')<CR>
     209au BufRead,BufNewFile *.c*       ab VV VecView(ug,PETSC_VIEWER_STDOUT_WORLD);
     210au BufRead,BufNewFile *.c*       ab AS _assert_();
     211au BufRead,BufNewFile *.c*       iab <expr> p0  "printf(\"-------------- file: ".expand('%')." line: %i\\n\",__LINE__);"
     212au BufRead,BufNewFile *.c*       iab <expr> pp0 "PetscSynchronizedPrintf(MPI_COMM_WORLD,\"-------------- file: ".expand('%')." line: %i\\n\",__LINE__);\nPetscSynchronizedFlush(MPI_COMM_WORLD);"
     213"tex
     214au BufRead,BufNewFile *.tex iab EQ
     215                        \\begin{equation}
     216                        \<CR>\end{equation}<up><C-R>=Eatchar('\s')<CR>
     217au BufRead,BufNewFile *.tex iab IT
     218                        \\begin{itemize}
     219                        \<CR>\item
     220                        \<CR>\end{itemize}<up><C-R>=Eatchar('\s')<CR>
     221au BufRead,BufNewFile *.tex iab EN
     222                        \\begin{enumerate}
     223                        \<CR>\item
     224                        \<CR>\end{enumerate}<up><C-R>=Eatchar('\s')<CR>
     225au BufRead,BufNewFile *.tex ab (()) \left( \right)
    226226"}}}
    227227" Skeletons {{{
  • issm/trunk-jpl/src/c/EnumDefinitions/EnumDefinitions.h

    r14562 r14573  
    9090        HydrologydcEnum,
    9191        SedimentheadEnum,
    92         HydrologydcSedimentporosityEnum,
    93         HydrologydcSpcsedimentheadEnum,
     92        WaterpressureEnum,
     93        HydrologydcSpcsedimentHeadEnum,
     94        HydrologydcSedimentCompressibilityEnum,
     95        HydrologydcSedimentPorosityEnum,
     96        HydrologydcSedimentThicknessEnum,
     97        HydrologydcSedimentTransmitivityEnum,
     98        HydrologydcWaterDensityEnum,
     99        HydrologydcWaterCompressibilityEnum,
    94100        IndependentObjectEnum,
    95101        InversionControlParametersEnum,
  • issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.cpp

    r14562 r14573  
    5151        }
    5252        else if(hydrology_model==HydrologydcEnum){
    53                 iomodel->Constant(&this->sediment_porosity,HydrologydcSedimentporosityEnum);
     53                iomodel->Constant(&this->sediment_compressibility,HydrologydcSedimentCompressibilityEnum);
     54                iomodel->Constant(&this->sediment_porosity,HydrologydcSedimentPorosityEnum);
     55                iomodel->Constant(&this->sediment_thickness,HydrologydcSedimentThicknessEnum);
     56                iomodel->Constant(&this->sediment_transmitivity,HydrologydcSedimentTransmitivityEnum);
     57                iomodel->Constant(&this->water_compressibility,HydrologydcWaterCompressibilityEnum);
     58                iomodel->Constant(&this->water_density,HydrologydcWaterDensityEnum);
    5459        }
    5560        else{
     
    311316}               
    312317/*}}}*/
     318/*FUNCTION Matpar::GetSedimentCompressibility {{{*/
     319IssmDouble Matpar::GetSedimentCompressibility(){
     320        return sediment_compressibility;                 
     321}               
     322/*}}}*/
    313323/*FUNCTION Matpar::GetSedimentPorosity {{{*/
    314324IssmDouble Matpar::GetSedimentPorosity(){
    315325        return sediment_porosity;               
     326}               
     327/*}}}*/
     328/*FUNCTION Matpar::GetSedimentThickness {{{*/
     329IssmDouble Matpar::GetSedimentThickness(){
     330        return sediment_thickness;               
     331}               
     332/*}}}*/
     333/*FUNCTION Matpar::GetSedimentTransitivity {{{*/
     334IssmDouble Matpar::GetSedimentTransmitivity(){
     335        return sediment_transmitivity;           
     336}               
     337/*}}}*/
     338/*FUNCTION Matpar::GetWaterCompressibility {{{*/
     339IssmDouble Matpar::GetWaterCompressibility(){
     340        return water_compressibility;           
     341}               
     342/*}}}*/
     343/*FUNCTION Matpar::GetWaterDensity {{{*/
     344IssmDouble Matpar::GetWaterDensity(){
     345        return water_density;           
    316346}               
    317347/*}}}*/                 
  • issm/trunk-jpl/src/c/classes/objects/Materials/Matpar.h

    r14562 r14573  
    3838
    3939                /*hydrology Dual Porous Continuum: */   
    40                 IssmDouble  sediment_porosity;
    41 
     40                IssmDouble  sediment_compressibility;
     41                IssmDouble  sediment_porosity;   
     42                IssmDouble  sediment_thickness;
     43                IssmDouble  sediment_transmitivity;     
     44                IssmDouble  water_compressibility;
     45                IssmDouble  water_density;
    4246        public:
    4347                Matpar();
     
    103107                IssmDouble GetHydrologyCR();
    104108                IssmDouble GetHydrologyN();
     109                IssmDouble GetSedimentCompressibility();
    105110                IssmDouble GetSedimentPorosity();
     111                IssmDouble GetSedimentThickness();
     112                IssmDouble GetSedimentTransmitivity();
     113                IssmDouble GetWaterCompressibility();
     114                IssmDouble GetWaterDensity();
    106115                IssmDouble TMeltingPoint(IssmDouble pressure);
    107116                IssmDouble PureIceEnthalpy(IssmDouble pressure);
  • issm/trunk-jpl/src/c/modules/EnumToStringx/EnumToStringx.cpp

    r14562 r14573  
    9595                case HydrologydcEnum : return "Hydrologydc";
    9696                case SedimentheadEnum : return "Sedimenthead";
    97                 case HydrologydcSedimentporosityEnum : return "HydrologydcSedimentporosity";
    98                 case HydrologydcSpcsedimentheadEnum : return "HydrologydcSpcsedimenthead";
     97                case WaterpressureEnum : return "Waterpressure";
     98                case HydrologydcSpcsedimentHeadEnum : return "HydrologydcSpcsedimentHead";
     99                case HydrologydcSedimentCompressibilityEnum : return "HydrologydcSedimentCompressibility";
     100                case HydrologydcSedimentPorosityEnum : return "HydrologydcSedimentPorosity";
     101                case HydrologydcSedimentThicknessEnum : return "HydrologydcSedimentThickness";
     102                case HydrologydcSedimentTransmitivityEnum : return "HydrologydcSedimentTransmitivity";
     103                case HydrologydcWaterDensityEnum : return "HydrologydcWaterDensity";
     104                case HydrologydcWaterCompressibilityEnum : return "HydrologydcWaterCompressibility";
    99105                case IndependentObjectEnum : return "IndependentObject";
    100106                case InversionControlParametersEnum : return "InversionControlParameters";
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Hydrology/CreateConstraintsHydrology.cpp

    r14562 r14573  
    2828        }
    2929        else if(hydrology_model==HydrologydcEnum){
    30                 IoModelToConstraintsx(constraints,iomodel,HydrologydcSpcsedimentheadEnum,HydrologyAnalysisEnum);
     30                IoModelToConstraintsx(constraints,iomodel,HydrologydcSpcsedimentHeadEnum,HydrologyAnalysisEnum);
    3131        }
    3232        else{
  • issm/trunk-jpl/src/c/modules/StringToEnumx/StringToEnumx.cpp

    r14562 r14573  
    9696              else if (strcmp(name,"Hydrologydc")==0) return HydrologydcEnum;
    9797              else if (strcmp(name,"Sedimenthead")==0) return SedimentheadEnum;
    98               else if (strcmp(name,"HydrologydcSedimentporosity")==0) return HydrologydcSedimentporosityEnum;
    99               else if (strcmp(name,"HydrologydcSpcsedimenthead")==0) return HydrologydcSpcsedimentheadEnum;
     98              else if (strcmp(name,"Waterpressure")==0) return WaterpressureEnum;
     99              else if (strcmp(name,"HydrologydcSpcsedimentHead")==0) return HydrologydcSpcsedimentHeadEnum;
     100              else if (strcmp(name,"HydrologydcSedimentCompressibility")==0) return HydrologydcSedimentCompressibilityEnum;
     101              else if (strcmp(name,"HydrologydcSedimentPorosity")==0) return HydrologydcSedimentPorosityEnum;
     102              else if (strcmp(name,"HydrologydcSedimentThickness")==0) return HydrologydcSedimentThicknessEnum;
     103              else if (strcmp(name,"HydrologydcSedimentTransmitivity")==0) return HydrologydcSedimentTransmitivityEnum;
     104              else if (strcmp(name,"HydrologydcWaterDensity")==0) return HydrologydcWaterDensityEnum;
     105              else if (strcmp(name,"HydrologydcWaterCompressibility")==0) return HydrologydcWaterCompressibilityEnum;
    100106              else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum;
    101107              else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum;
     
    132138              else if (strcmp(name,"MaterialsMeltingpoint")==0) return MaterialsMeltingpointEnum;
    133139              else if (strcmp(name,"MaterialsMixedLayerCapacity")==0) return MaterialsMixedLayerCapacityEnum;
    134               else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum;
     140         else stage=2;
     141   }
     142   if(stage==2){
     143              if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum;
    135144              else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum;
    136145              else if (strcmp(name,"MaterialsRheologyLaw")==0) return MaterialsRheologyLawEnum;
     
    138147              else if (strcmp(name,"MaterialsRheologyZ")==0) return MaterialsRheologyZEnum;
    139148              else if (strcmp(name,"MaterialsRheologyZbar")==0) return MaterialsRheologyZbarEnum;
    140          else stage=2;
    141    }
    142    if(stage==2){
    143               if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
     149              else if (strcmp(name,"MaterialsRhoIce")==0) return MaterialsRhoIceEnum;
    144150              else if (strcmp(name,"MaterialsRhoWater")==0) return MaterialsRhoWaterEnum;
    145151              else if (strcmp(name,"MaterialsRhoFreshwater")==0) return MaterialsRhoFreshwaterEnum;
     
    255261              else if (strcmp(name,"DiagnosticHorizAnalysis")==0) return DiagnosticHorizAnalysisEnum;
    256262              else if (strcmp(name,"DiagnosticHutterAnalysis")==0) return DiagnosticHutterAnalysisEnum;
    257               else if (strcmp(name,"DiagnosticSolution")==0) return DiagnosticSolutionEnum;
     263         else stage=3;
     264   }
     265   if(stage==3){
     266              if (strcmp(name,"DiagnosticSolution")==0) return DiagnosticSolutionEnum;
    258267              else if (strcmp(name,"DiagnosticVertAnalysis")==0) return DiagnosticVertAnalysisEnum;
    259268              else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum;
     
    261270              else if (strcmp(name,"FlaimAnalysis")==0) return FlaimAnalysisEnum;
    262271              else if (strcmp(name,"FlaimSolution")==0) return FlaimSolutionEnum;
    263          else stage=3;
    264    }
    265    if(stage==3){
    266               if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum;
     272              else if (strcmp(name,"HydrologyAnalysis")==0) return HydrologyAnalysisEnum;
    267273              else if (strcmp(name,"HydrologySolution")==0) return HydrologySolutionEnum;
    268274              else if (strcmp(name,"MeltingAnalysis")==0) return MeltingAnalysisEnum;
     
    378384              else if (strcmp(name,"MaxPenetration")==0) return MaxPenetrationEnum;
    379385              else if (strcmp(name,"MeltingOffset")==0) return MeltingOffsetEnum;
    380               else if (strcmp(name,"Misfit")==0) return MisfitEnum;
     386         else stage=4;
     387   }
     388   if(stage==4){
     389              if (strcmp(name,"Misfit")==0) return MisfitEnum;
    381390              else if (strcmp(name,"NumberNodeToElementConnectivity")==0) return NumberNodeToElementConnectivityEnum;
    382391              else if (strcmp(name,"Pressure")==0) return PressureEnum;
     
    384393              else if (strcmp(name,"QmuPressure")==0) return QmuPressureEnum;
    385394              else if (strcmp(name,"QmuVx")==0) return QmuVxEnum;
    386          else stage=4;
    387    }
    388    if(stage==4){
    389               if (strcmp(name,"QmuVy")==0) return QmuVyEnum;
     395              else if (strcmp(name,"QmuVy")==0) return QmuVyEnum;
    390396              else if (strcmp(name,"QmuVz")==0) return QmuVzEnum;
    391397              else if (strcmp(name,"QmuThickness")==0) return QmuThicknessEnum;
     
    501507              else if (strcmp(name,"ControlSteady")==0) return ControlSteadyEnum;
    502508              else if (strcmp(name,"Fset")==0) return FsetEnum;
    503               else if (strcmp(name,"Gradient1")==0) return Gradient1Enum;
     509         else stage=5;
     510   }
     511   if(stage==5){
     512              if (strcmp(name,"Gradient1")==0) return Gradient1Enum;
    504513              else if (strcmp(name,"Gradient2")==0) return Gradient2Enum;
    505514              else if (strcmp(name,"Gradient3")==0) return Gradient3Enum;
     
    507516              else if (strcmp(name,"GroundinglineMigration")==0) return GroundinglineMigrationEnum;
    508517              else if (strcmp(name,"Gset")==0) return GsetEnum;
    509          else stage=5;
    510    }
    511    if(stage==5){
    512               if (strcmp(name,"Index")==0) return IndexEnum;
     518              else if (strcmp(name,"Index")==0) return IndexEnum;
    513519              else if (strcmp(name,"Indexed")==0) return IndexedEnum;
    514520              else if (strcmp(name,"Intersect")==0) return IntersectEnum;
  • issm/trunk-jpl/src/c/solutions/hydrology_core.cpp

    r14562 r14573  
    2424        IssmDouble starttime,final_time;
    2525        IssmDouble time,dt;
    26 
     26       
    2727        /*first recover parameters common to all solutions*/
    2828        femmodel->parameters->FindParam(&starttime,TimesteppingStartTimeEnum);
  • issm/trunk-jpl/src/m/classes/hydrologydc.m

    r14562 r14573  
    55
    66classdef hydrologydc
    7         properties (SetAccess=public)
    8                 spcsedimenthead  = NaN;
    9                 sedimentporosity = 0;
    10         end
    11         methods
    12                 function obj = hydrologydc(varargin) % {{{
    13                         switch nargin
    14                                 case 0
    15                                         obj=setdefaultparameters(obj);
    16                                 otherwise
    17                                         error('constructor not supported');
    18                         end
    19                 end % }}}
    20                 function obj = setdefaultparameters(obj) % {{{
    21 
    22                         %Parameters from de Fleurian 2013
    23                         obj.sedimentporosity = .01;
    24 
    25                 end % }}}
    26                 function md = checkconsistency(obj,md,solution,analyses) % {{{
    27 
    28                         %Early return
    29                         if ~ismember(HydrologyAnalysisEnum(),analyses), return; end
    30 
    31                         md = checkfield(md,'hydrology.spcsedimenthead','forcing',1);
    32                         md = checkfield(md,'hydrology.sedimentporosity','>',0,'numel',1);
    33                 end % }}}
    34                 function disp(obj) % {{{
    35                         disp(sprintf('   hydrology Dual Porous Continuum Equivalent parameters:'));
    36 
    37                         fielddisplay(obj,'spcsedimenthead','sediment water head constraints (NaN means no constraint, meters above MSL)');
    38                         fielddisplay(obj,'sedimentporosity','sediment porosity (dimensionless)');
    39 
    40                 end % }}}
    41                 function marshall(obj,fid) % {{{
     7    properties (SetAccess=public)
     8        spcsediment_head          = NaN;
     9        sediment_compressibility = 0;
     10        sediment_porosity         = 0;
     11        ssediment_thickness      = 0;
     12        sediment_transmitivity    = 0;
     13        water_compressibility     = 0;
     14        water_density             = 0;
     15    end
     16    methods
     17        function obj = hydrologydc(varargin) % {{{
     18            switch nargin
     19              case 0
     20                obj=setdefaultparameters(obj);
     21              otherwise
     22                error('constructor not supported');
     23            end
     24        end % }}}
     25        function obj = setdefaultparameters(obj) % {{{
     26           
     27        %Parameters from de Fleurian 2013
     28            obj.sediment_compressibility = 1.0e-08;
     29            obj.sediment_porosity         = .4;
     30            obj.sediment_thickness        = 20.0;
     31            obj.sediment_transmitivity    = 8.0e-04;
     32            obj.water_compressibility     = 5.04e-10;
     33            obj.water_density             = 1.0e+03;
     34           
     35        end % }}}
     36        function md = checkconsistency(obj,md,solution,analyses) % {{{
     37           
     38        %Early return
     39            if ~ismember(HydrologyAnalysisEnum(),analyses), return; end
     40           
     41            md = checkfield(md,'hydrology.spcsediment_head','forcing',1);
     42            md = checkfield(md,'hydrology.sediment_compressibility','>',0,'numel',1);
     43            md = checkfield(md,'hydrology.sediment_porosity','>',0,'numel',1);
     44            md = checkfield(md,'hydrology.sediment_thickness','>',0,'numel',1);
     45            md = checkfield(md,'hydrology.sediment_transmitivity','>',0,'numel',1);
     46            md = checkfield(md,'hydrology.water_compressibility','>',0,'numel',1);
     47            md = checkfield(md,'hydrology.water_density','>',0,'numel',1);
     48        end % }}}
     49        function disp(obj) % {{{
     50            disp(sprintf('   hydrology Dual Porous Continuum Equivalent parameters:'));
     51           
     52            fielddisplay(obj,'spcsediment_head','sediment water head constraints (NaN means no constraint, meters above MSL)');
     53            fielddisplay(obj,'sediment_compressibility','sediment compressibility (Pa -1)');
     54            fielddisplay(obj,'sediment_porosity','sediment(dimensionless)');
     55            fielddisplay(obj,'sediment_thickness','sediment thickness (meters)');
     56            fielddisplay(obj,'sediment_transmitivity','sediment transmitivity (m2 s-1)');
     57            fielddisplay(obj,'water_compressibility','water compressibility (Pa -1)');
     58            fielddisplay(obj,'water_density','water density (kg m 3)');
     59           
     60        end % }}}
     61        function marshall(obj,fid) % {{{
    4262                        WriteData(fid,'enum',HydrologyEnum(),'data',HydrologydcEnum(),'format','Integer');
    43                         WriteData(fid,'object',obj,'fieldname','spcsedimenthead','format','DoubleMat','mattype',1);
    44                         WriteData(fid,'object',obj,'fieldname','sedimentporosity','format','Double');
    45                 end % }}}
    46         end
     63                        WriteData(fid,'object',obj,'fieldname','spcsediment_head','format','DoubleMat','mattype',1);
     64                        WriteData(fid,'object',obj,'fieldname','sediment_compressibility','format','Double');                   
     65                        WriteData(fid,'object',obj,'fieldname','sediment_porosity','format','Double');                 
     66                        WriteData(fid,'object',obj,'fieldname','sediment_thickness','format','Double');
     67                        WriteData(fid,'object',obj,'fieldname','sediment_transmitivity','format','Double');                     
     68                        WriteData(fid,'object',obj,'fieldname','water_compressibility','format','Double');                     
     69                        WriteData(fid,'object',obj,'fieldname','water_density','format','Double');
     70                    end % }}}
     71    end
    4772end
  • issm/trunk-jpl/src/m/classes/initialization.m

    r14562 r14573  
    66classdef initialization
    77        properties (SetAccess=public)
    8                 vx            = NaN;
    9                 vy            = NaN;
    10                 vz            = NaN;
    11                 vel           = NaN;
    12                 pressure      = NaN;
    13                 temperature   = NaN;
    14                 surfacetemp   = NaN;
    15                 basaltemp     = NaN;
    16                 watercolumn   = NaN;
    17                 sedimenthead  = NaN;
    18                 waterfraction = NaN;
     8                vx             = NaN;
     9                vy             = NaN;
     10                vz             = NaN;
     11                vel            = NaN;
     12                pressure       = NaN;
     13                temperature    = NaN;
     14                surfacetemp    = NaN;
     15                basaltemp      = NaN;
     16                waterfraction  = NaN;
     17                sediment_head  = NaN;
     18                water_pressure = NaN;
     19                watercolumn    = NaN;
    1920        end
    2021        methods
     
    4142                                md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices 1]);
    4243                        end
    43                         if ismember(HydrologyAnalysisEnum(),analyses),
    44                                 if isa(md.hydrology,'hydrologydc'),
    45                                         md = checkfield(md,'initialization.sedimenthead','NaN',1,'size',[md.mesh.numberofvertices 1]);
    46                                 else
    47                                         md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
    48                                 end
    49                         end
    5044                        if ismember(BalancethicknessAnalysisEnum(),analyses),
    5145                                md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices 1]);
     
    6559                                md = checkfield(md,'initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices 1]);
    6660                        end
     61                        if ismember(HydrologyAnalysisEnum(),analyses),
     62                                if isa(md.hydrology,'hydrologydc'),
     63                                        md = checkfield(md,'initialization.sediment_head','NaN',1,'size',[md.mesh.numberofvertices 1]);
     64                                        md = checkfield(md,'initialization.water_pressure','NaN',1,'size',[md.mesh.numberofvertices 1]);
     65                                else
     66                                        md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices 1]);
     67                                end
     68                        end
    6769                end % }}}
    6870                function disp(obj) % {{{
     
    7779                        fielddisplay(obj,'surfacetemp','surface temperature in Kelvins');
    7880                        fielddisplay(obj,'basaltemp','basal temperature in Kelvins');
     81                        fielddisplay(obj,'waterfraction','fraction of water in the ice');
     82                        fielddisplay(obj,'sediment_head','sediment water head of subglacial system (meters)');
     83                        fielddisplay(obj,'water_pressure','pressure due to the sediment water head (Pa)');
    7984                        fielddisplay(obj,'watercolumn','thickness of subglacial water');
    80                         fielddisplay(obj,'sedimenthead','sediment water head of subglacial system (meters)');
    81                         fielddisplay(obj,'waterfraction','fraction of water in the ice');
    8285
    8386                end % }}}
     
    8891                        WriteData(fid,'data',obj.pressure,'format','DoubleMat','mattype',1,'enum',PressureEnum);
    8992                        WriteData(fid,'data',obj.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum);
     93                        WriteData(fid,'data',obj.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum);
     94                        WriteData(fid,'data',obj.sediment_head,'format','DoubleMat','mattype',1,'enum',SedimentHeadEnum);
     95                        WriteData(fid,'data',obj.water_pressure,'format','DoubleMat','mattype',1,'enum',WaterPressureEnum);
    9096                        WriteData(fid,'data',obj.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum);
    91                         WriteData(fid,'data',obj.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum);
    92                         WriteData(fid,'data',obj.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum);
    9397                end % }}}
    9498        end
  • issm/trunk-jpl/src/m/classes/initialization.py

    r14562 r14573  
    2626                self.surfacetemp   = float('NaN')
    2727                self.basaltemp     = float('NaN')
     28                self.waterfraction = float('NaN')
    2829                self.watercolumn   = float('NaN')
    29                 self.sedimenthead  = float('NaN')
    30                 self.waterfraction = float('NaN')
     30                self.sediment_head  = float('NaN')
     31                self.water_pressure = float('NaN')
    3132
    3233                #set defaults
     
    4647                string="%s\n%s"%(string,fielddisplay(self,'surfacetemp','surface temperature in Kelvins'))
    4748                string="%s\n%s"%(string,fielddisplay(self,'basaltemp','basal temperature in Kelvins'))
     49                string="%s\n%s"%(string,fielddisplay(self,'waterfraction','fraction of water in the ice'))
    4850                string="%s\n%s"%(string,fielddisplay(self,'watercolumn','thickness of subglacial water'))
    49                 string="%s\n%s"%(string,fielddisplay(self,'sedimenthead','sediment water head of subglacial system (meters)'))
    50                 string="%s\n%s"%(string,fielddisplay(self,'waterfraction','fraction of water in the ice'))
     51                string="%s\n%s"%(string,fielddisplay(self,'sediment_head','sediment water head of subglacial system (meters)'))
     52                string="%s\n%s"%(string,fielddisplay(self,'water_pressure','water pressure due to the sediment head (Pa)'))
    5153
    5254                return string
     
    6668                        md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
    6769                        md = checkfield(md,'initialization.vy','NaN',1,'size',[md.mesh.numberofvertices])
    68                 if HydrologyAnalysisEnum() in analyses:
    69                         md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
    7070                if BalancethicknessAnalysisEnum() in analyses:
    7171                        md = checkfield(md,'initialization.vx','NaN',1,'size',[md.mesh.numberofvertices])
     
    8282                if (EnthalpyAnalysisEnum() in analyses and md.thermal.isenthalpy) or solution==EnthalpySolutionEnum():
    8383                        md = checkfield(md,'initialization.waterfraction','>=',0,'size',[md.mesh.numberofvertices])
    84 
     84                if HydrologyAnalysisEnum() in analyses:
     85                        md = checkfield(md,'initialization.watercolumn','NaN',1,'size',[md.mesh.numberofvertices])
    8586                return md
    8687        # }}}
     
    9293                WriteData(fid,'data',self.pressure,'format','DoubleMat','mattype',1,'enum',PressureEnum())
    9394                WriteData(fid,'data',self.temperature,'format','DoubleMat','mattype',1,'enum',TemperatureEnum())
     95                WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum())
    9496                WriteData(fid,'data',self.watercolumn,'format','DoubleMat','mattype',1,'enum',WatercolumnEnum())
    95                 WriteData(fid,'data',self.sedimenthead,'format','DoubleMat','mattype',1,'enum',SedimentheadEnum())
    96                 WriteData(fid,'data',self.waterfraction,'format','DoubleMat','mattype',1,'enum',WaterfractionEnum())
     97                WriteData(fid,'data',self.sediment_head,'format','DoubleMat','mattype',1,'enum',SedimentHeadEnum())
     98                WriteData(fid,'data',self.water_pressure,'format','DoubleMat','mattype',1,'enum',WaterPressureEnum())
    9799        # }}}
    98100
  • issm/trunk-jpl/src/m/enum/EnumDefinitions.py

    r14562 r14573  
    789789        return StringToEnum('Sedimenthead')[0]
    790790
    791 def HydrologydcSedimentporosityEnum():
    792         """
    793         HYDROLOGYDCSEDIMENTPOROSITYENUM - Enum of HydrologydcSedimentporosity
    794 
    795            Usage:
    796               macro=HydrologydcSedimentporosityEnum()
    797         """
    798 
    799         return StringToEnum('HydrologydcSedimentporosity')[0]
    800 
    801 def HydrologydcSpcsedimentheadEnum():
    802         """
    803         HYDROLOGYDCSPCSEDIMENTHEADENUM - Enum of HydrologydcSpcsedimenthead
    804 
    805            Usage:
    806               macro=HydrologydcSpcsedimentheadEnum()
    807         """
    808 
    809         return StringToEnum('HydrologydcSpcsedimenthead')[0]
     791def WaterpressureEnum():
     792        """
     793        WATERPRESSUREENUM - Enum of Waterpressure
     794
     795           Usage:
     796              macro=WaterpressureEnum()
     797        """
     798
     799        return StringToEnum('Waterpressure')[0]
     800
     801def HydrologydcSpcsedimentHeadEnum():
     802        """
     803        HYDROLOGYDCSPCSEDIMENTHEADENUM - Enum of HydrologydcSpcsedimentHead
     804
     805           Usage:
     806              macro=HydrologydcSpcsedimentHeadEnum()
     807        """
     808
     809        return StringToEnum('HydrologydcSpcsedimentHead')[0]
     810
     811def HydrologydcSedimentCompressibilityEnum():
     812        """
     813        HYDROLOGYDCSEDIMENTCOMPRESSIBILITYENUM - Enum of HydrologydcSedimentCompressibility
     814
     815           Usage:
     816              macro=HydrologydcSedimentCompressibilityEnum()
     817        """
     818
     819        return StringToEnum('HydrologydcSedimentCompressibility')[0]
     820
     821def HydrologydcSedimentPorosityEnum():
     822        """
     823        HYDROLOGYDCSEDIMENTPOROSITYENUM - Enum of HydrologydcSedimentPorosity
     824
     825           Usage:
     826              macro=HydrologydcSedimentPorosityEnum()
     827        """
     828
     829        return StringToEnum('HydrologydcSedimentPorosity')[0]
     830
     831def HydrologydcSedimentThicknessEnum():
     832        """
     833        HYDROLOGYDCSEDIMENTTHICKNESSENUM - Enum of HydrologydcSedimentThickness
     834
     835           Usage:
     836              macro=HydrologydcSedimentThicknessEnum()
     837        """
     838
     839        return StringToEnum('HydrologydcSedimentThickness')[0]
     840
     841def HydrologydcSedimentTransmitivityEnum():
     842        """
     843        HYDROLOGYDCSEDIMENTTRANSMITIVITYENUM - Enum of HydrologydcSedimentTransmitivity
     844
     845           Usage:
     846              macro=HydrologydcSedimentTransmitivityEnum()
     847        """
     848
     849        return StringToEnum('HydrologydcSedimentTransmitivity')[0]
     850
     851def HydrologydcWaterDensityEnum():
     852        """
     853        HYDROLOGYDCWATERDENSITYENUM - Enum of HydrologydcWaterDensity
     854
     855           Usage:
     856              macro=HydrologydcWaterDensityEnum()
     857        """
     858
     859        return StringToEnum('HydrologydcWaterDensity')[0]
     860
     861def HydrologydcWaterCompressibilityEnum():
     862        """
     863        HYDROLOGYDCWATERCOMPRESSIBILITYENUM - Enum of HydrologydcWaterCompressibility
     864
     865           Usage:
     866              macro=HydrologydcWaterCompressibilityEnum()
     867        """
     868
     869        return StringToEnum('HydrologydcWaterCompressibility')[0]
    810870
    811871def IndependentObjectEnum():
     
    51375197        """
    51385198
    5139         return 512
    5140 
     5199        return 518
     5200
  • issm/trunk-jpl/src/m/enum/MaximumNumberOfEnums.m

    r14562 r14573  
    99%      macro=MaximumNumberOfEnums()
    1010
    11 macro=512;
     11macro=518;
Note: See TracChangeset for help on using the changeset viewer.