Changeset 26066


Ignore:
Timestamp:
03/10/21 11:57:45 (4 years ago)
Author:
jdquinn
Message:

BUG: Missing initialize member function; removed GIA from parameterization file; clean up

Location:
issm/trunk-jpl
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/dsl.m

    r26059 r26066  
    6565                end % }}}
    6666                function savemodeljs(self,fid,modelname) % {{{
    67                
     67
    6868                        writejs1Darray(fid,[modelname '.dsl.global_average_thermosteric_sea_level'],self.global_average_thermosteric_sea_level);
    6969                        writejs1Darray(fid,[modelname '.dsl.sea_surface_height_above_geoid'],self.sea_surface_height_above_geoid);
     
    8585                                disp('      no dsl.sea_water_pressure_at_sea_floor specified: transient values set at zero');
    8686                        end
    87 
    8887                end % }}}
    8988       
  • issm/trunk-jpl/src/m/classes/dsl.py

    r26059 r26066  
    2828    #}}}
    2929
    30     def extrude(self, md): #{{{
    31         self.sea_surface_height_above_geoid = project3d(md, 'vector', self.sea_surface_height_above_geoid, 'type', 'node')
    32         self.sea_water_pressure_at_sea_floor = project3d(md, 'vector', self.sea_water_pressure_at_sea_floor, 'type', 'node')
    33         return self
     30    def defaultoutputs(self, md): #{{{
     31        return []
    3432    #}}}
    3533
    36     def defaultoutputs(self, md): #{{{
    37         return []
     34    def initialize(self, md): #{{{
     35        if np.isnan(self.global_average_thermosteric_sea_level):
     36            self.global_average_thermosteric_sea_level = np.array([0, 0]).reshape(-1, 1)
     37            print('      no dsl.global_average_thermosteric_sea_level specified: transient values set at zero')
     38
     39        if np.isnan(self.sea_surface_height_above_geoid):
     40            self.sea_surface_height_above_geoid = np.array(np.zeros(md.mesh.numberofvertices)).reshape(-1, 1)
     41            print('      no dsl.sea_surface_height_above_geoid specified: transient values set at zero')
     42
     43        if np.isnan(self.sea_water_pressure_at_sea_floor):
     44            self.sea_water_pressure_at_sea_floor = np.array(np.zeros(md.mesh.numberofvertices)).reshape(-1, 1)
     45            print('      no dsl.sea_water_pressure_at_sea_floor specified: transient values set at zero')
    3846    #}}}
    3947
     
    5361    # }}}
    5462
     63    def extrude(self, md): #{{{
     64        self.sea_surface_height_above_geoid = project3d(md, 'vector', self.sea_surface_height_above_geoid, 'type', 'node')
     65        self.sea_water_pressure_at_sea_floor = project3d(md, 'vector', self.sea_water_pressure_at_sea_floor, 'type', 'node')
     66        return self
     67    #}}}
     68
    5569    def marshall(self, prefix, md, fid):   #{{{
    5670        yts = md.constants.yts
  • issm/trunk-jpl/src/m/parameterization/parameterize.py

    r25129 r26066  
    44
    55def parameterize(md, parametername):
    6     '''
    7     PARAMETERIZE - parameterize a model
     6    """PARAMETERIZE - parameterize a model
    87
    9         From a parameter Python file, start filling in all the model fields
    10         that were not filled in by the mesh.py and mask.py model methods.
    11         Warning: the parameter file must be able to be run in Python
     8    From a parameter Python file, start filling in all the model fields that
     9    were not filled in by the mesh.py and mask.py model methods. Warning: the
     10    parameter file must be able to be run in Python
    1211
    13         Usage:
    14             md = parameterize(md, parametername)
     12    Usage:
     13        md = parameterize(md, parametername)
    1514
    16         Example:
    17             md = parameterize(md, 'Square.par')
    18     '''
     15    Example:
     16        md = parameterize(md, 'Square.py')
     17    """
    1918
    2019    #some checks
  • issm/trunk-jpl/test/Par/SquareSheetConstrained.par

    r26047 r26066  
    6060md.groundingline.migration='None';
    6161
    62 
    6362%Boundary conditions:
    6463md=SetIceSheetBC(md);
  • issm/trunk-jpl/test/Par/SquareSheetConstrained.py

    r25455 r26066  
    1919md.geometry.thickness = hmax + (hmin - hmax) * (md.mesh.y - ymin) / (ymax - ymin) + 0.1 * (hmin - hmax) * (md.mesh.x - xmin) / (xmax - xmin)
    2020md.geometry.base = -md.materials.rho_ice / md.materials.rho_water * md.geometry.thickness + 20.
     21md.geometry.bed = md.geometry.base
    2122md.geometry.surface = md.geometry.base + md.geometry.thickness
    2223
     
    6162md.groundingline.migration = 'None'
    6263
    63 #GIA:
    64 md.gia.lithosphere_thickness = 100. * np.ones((md.mesh.numberofvertices))  # in km
    65 md.gia.mantle_viscosity = 1.e21 * np.ones((md.mesh.numberofvertices))  # in Pa.s
    66 md.materials.lithosphere_shear_modulus = 6.7e10  # in Pa
    67 md.materials.lithosphere_density = 3.32  # in g / cm^ - 3
    68 md.materials.mantle_shear_modulus = 1.45e11  # in Pa
    69 md.materials.mantle_density = 3.34  # in g / cm^ - 3
    70 
    7164#Boundary conditions:
    7265md = SetIceSheetBC(md)
Note: See TracChangeset for help on using the changeset viewer.