source: issm/trunk-jpl/test/NightlyRun/test475.m@ 24016

Last change on this file since 24016 was 24016, checked in by tpelle, 6 years ago

CHG: Update geothermalflux module to support ISMIP6, PICO, and PICOP melt parameterizations in HO, also update test475

File size: 3.8 KB
Line 
1%Test Name: PicopMeltRate_HO
2md=triangle(model(),'../Exp/Square.exp',90000.);
3md=setmask(md,'../Exp/SquareShelf.exp','');
4md=parameterize(md,'../Par/SquareSheetShelf.par');
5md.initialization.vx(:)=1.;
6md.initialization.vy(:)=1.;
7md.geometry.thickness(:)=500-md.mesh.x/10000;
8md.geometry.bed =-100-md.mesh.x/1000;
9md.geometry.base=-md.geometry.thickness*md.materials.rho_ice/md.materials.rho_water;
10md.mask.groundedice_levelset=md.geometry.thickness+md.materials.rho_water/md.materials.rho_ice*md.geometry.bed;
11pos=find(md.mask.groundedice_levelset>=0);
12md.geometry.base(pos)=md.geometry.bed(pos);
13md.geometry.surface=md.geometry.base+md.geometry.thickness;
14md=extrude(md,3,1.1);
15md=setflowequation(md,'HO','all');
16
17%Set Pico Parameters
18md.basalforcings = basalforcingspico(md.basalforcings);
19md.basalforcings.basin_id = zeros(md.mesh.numberofelements,1);
20yE = mean(md.mesh.y(md.mesh.elements),2);
21pos1 = find(yE>=5e5); md.basalforcings.basin_id(pos1)=1;
22pos2 = find(yE<5e5); md.basalforcings.basin_id(pos2)=2;
23md.basalforcings.num_basins = 2;
24md.basalforcings.farocean_temperature = [271.15 272.15 273.15; 274.15 275.15 276.15; 0.5 1 1.5]; %K
25md.basalforcings.farocean_salinity = [31 32 33; 34 35 36; 0.5 1 1.5]; %PSU
26md.basalforcings.maxboxcount=5;
27md.basalforcings.isplume = 1;
28
29%Boundary conditions:
30md.mask.ice_levelset=-ones(md.mesh.numberofvertices,1);
31md.mask.ice_levelset(find(md.mesh.x==max(md.mesh.x)))=0;
32
33%Model conditions
34md.transient.isthermal=0;
35md.transient.isstressbalance=1;
36md.transient.isgroundingline=1;
37md.transient.ismasstransport=1;
38md.transient.issmb=1;
39md.transient.requested_outputs={'default','BasalforcingsFloatingiceMeltingRate','GroundinglineHeight'};
40md.groundingline.migration='SubelementMigration';
41md.groundingline.friction_interpolation='SubelementFriction1';
42md.groundingline.melt_interpolation='SubelementMelt1';
43md.timestepping.final_time=1.5;
44md.timestepping.time_step=0.5;
45
46md.cluster=generic('name',oshostname(),'np',3);
47md=solve(md,'Transient');
48
49field_names ={'Bed1','Surface1','Thickness1','Floatingice1','Vx1','Vy1','Pressure1','FloatingiceMeltingrate1',...
50 'Bed2','Surface2','Thickness2','Floatingice2','Vx2','Vy2','Pressure2','FloatingiceMeltingrate2',...
51 'Bed3','Surface3','Thickness3','Floatingice3','Vx3','Vy3','Pressure3','FloatingiceMeltingrate3'};
52field_tolerances={7e-09,8e-09,8e-09,7e-09,6e-08,7e-08,6e-09,8e-7,...
53 7e-09,8e-09,8e-09,7e-09,6e-08,7e-08,6e-09,8e-7,...
54 7e-09,8e-09,8e-09,7e-09,6e-08,7e-08,6e-09,8e-7};
55field_values={...
56 (md.results.TransientSolution(1).Base),...
57 (md.results.TransientSolution(1).Surface),...
58 (md.results.TransientSolution(1).Thickness),...
59 (md.results.TransientSolution(1).MaskGroundediceLevelset),...
60 (md.results.TransientSolution(1).Vx),...
61 (md.results.TransientSolution(1).Vy),...
62 (md.results.TransientSolution(1).Pressure),...
63 (md.results.TransientSolution(1).BasalforcingsFloatingiceMeltingRate),...
64 (md.results.TransientSolution(2).Base),...
65 (md.results.TransientSolution(2).Surface),...
66 (md.results.TransientSolution(2).Thickness),...
67 (md.results.TransientSolution(2).MaskGroundediceLevelset),...
68 (md.results.TransientSolution(2).Vx),...
69 (md.results.TransientSolution(2).Vy),...
70 (md.results.TransientSolution(2).Pressure),...
71 (md.results.TransientSolution(2).BasalforcingsFloatingiceMeltingRate),...
72 (md.results.TransientSolution(3).Base),...
73 (md.results.TransientSolution(3).Surface),...
74 (md.results.TransientSolution(3).Thickness),...
75 (md.results.TransientSolution(3).MaskGroundediceLevelset),...
76 (md.results.TransientSolution(3).Vx),...
77 (md.results.TransientSolution(3).Vy),...
78 (md.results.TransientSolution(3).Pressure),...
79 (md.results.TransientSolution(3).BasalforcingsFloatingiceMeltingRate),...
80 };
Note: See TracBrowser for help on using the repository browser.