Changeset 27411
- Timestamp:
- 11/22/22 07:43:43 (2 years ago)
- Location:
- issm/trunk-jpl/test
- Files:
-
- 3 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test543.m
r27354 r27411 1 %Test Name: PigTran Stochasticforcing1 %Test Name: PigTranRignotarma 2 2 md=triangle(model(),'../Exp/Pig.exp',10000.); 3 3 md=setmask(md,'../Exp/PigShelves.exp','../Exp/PigIslands.exp'); … … 21 21 end 22 22 end 23 % Basin separation default24 idb_df = zeros(md.mesh.numberofelements,1);25 iid1 = find(md.mesh.x<=-1.62e6);26 for ii=1:md.mesh.numberofelements27 for vertex=1:328 if any(iid1==md.mesh.elements(ii,vertex)) %one vertex in basin 129 idb_df(ii) = 1;30 end31 end32 if idb_df(ii)==0 %no vertex was found in basin 133 idb_df(ii) = 2;34 end35 end36 23 % Dimensionalities 37 24 nb_tf = 2; 38 nb_clv = 2;39 nb_flmlt = 2;40 25 41 26 %Calving parameters 42 27 md.mask.ice_levelset = 1e4*(md.mask.ice_levelset + 0.5); 43 md.calving.calvingrate = 0 .3*ones(md.mesh.numberofvertices,1);28 md.calving.calvingrate = 0*ones(md.mesh.numberofvertices,1); 44 29 md.levelset.spclevelset = NaN(md.mesh.numberofvertices,1); 45 30 md.levelset.migration_max = 10.0; %avoid fast advance/retreat of the front … … 115 100 end 116 101 % Floating Ice Melt parameters 117 md.basalforcings.floatingice_melting_rate = 0 .1*ones(md.mesh.numberofvertices,1);102 md.basalforcings.floatingice_melting_rate = 0*ones(md.mesh.numberofvertices,1); 118 103 119 104 120 105 % Covariance matrix 121 106 covtf = 1e-4*eye(nb_tf); 122 covclv = 1e-1*eye(nb_clv);123 covclv(1,1) = 1/10*covclv(1,1);124 covflmlt = 0.05*eye(nb_flmlt);125 107 covsd = 1e3*eye(nb_tf); 126 covglob = blkdiag(covtf,cov clv,covflmlt,covsd);108 covglob = blkdiag(covtf,covsd); 127 109 128 110 %Stochastic forcing 129 111 md.stochasticforcing.isstochasticforcing = 1; 130 md.stochasticforcing.fields = [{'FrontalForcingsRignotarma'},{' DefaultCalving'},{'FloatingMeltRate'},{'FrontalForcingsSubglacialDischargearma'}];112 md.stochasticforcing.fields = [{'FrontalForcingsRignotarma'},{'FrontalForcingsSubglacialDischargearma'}]; 131 113 md.stochasticforcing.defaultdimension = 2; 132 md.stochasticforcing.default_id = idb_ df;114 md.stochasticforcing.default_id = idb_tf; 133 115 md.stochasticforcing.covariance = covglob; %global covariance among- and between-fields 134 116 md.stochasticforcing.randomflag = 0; %determines true/false randomness … … 137 119 md.transient.isgroundingline = 1; 138 120 139 md.transient.requested_outputs = {'default','Calving Calvingrate','CalvingMeltingrate','BasalforcingsFloatingiceMeltingRate'};121 md.transient.requested_outputs = {'default','CalvingMeltingrate'}; 140 122 md.cluster=generic('name',oshostname(),'np',2); 141 123 md=solve(md,'Transient'); … … 143 125 %Fields and tolerances to track changes 144 126 field_names ={... 145 'Vx1' ,'Vy1' ,'Vel1' ,'Thickness1' ,'MaskIceLevelset1' ,'Calving Calvingrate1' ,'CalvingMeltingrate1' ,'BasalforcingsFloatingiceMeltingRate1',...146 'Vx2' ,'Vy2' ,'Vel2' ,'Thickness2' ,'MaskIceLevelset2' ,'Calving Calvingrate2' ,'CalvingMeltingrate2' ,'BasalforcingsFloatingiceMeltingRate2',...147 'Vx10','Vy10','Vel10','Thickness10','MaskIceLevelset10','Calving Calvingrate10','CalvingMeltingrate10','BasalforcingsFloatingiceMeltingRate10',...127 'Vx1' ,'Vy1' ,'Vel1' ,'Thickness1' ,'MaskIceLevelset1' ,'CalvingMeltingrate1' ,... 128 'Vx2' ,'Vy2' ,'Vel2' ,'Thickness2' ,'MaskIceLevelset2' ,'CalvingMeltingrate2' ,... 129 'Vx10','Vy10','Vel10','Thickness10','MaskIceLevelset10','CalvingMeltingrate10',... 148 130 }; 149 131 field_tolerances={... 150 1e-11,2e-11,2e-11,1e-11,1e-9,1e-10, 1e-10,1e-10,...151 2e-11,1e-11,1e-11,9e-11,2e-9,1e-10, 1e-10,1e-10,...152 2e-6,1e-6,1e-6,1e-6,5e-6,1e-6, 1e-6,1e-6,...132 1e-11,2e-11,2e-11,1e-11,1e-9,1e-10,... 133 2e-11,1e-11,1e-11,9e-11,2e-9,1e-10,... 134 2e-6,1e-6,1e-6,1e-6,5e-6,1e-6,... 153 135 }; 154 136 field_values={... … … 158 140 (md.results.TransientSolution(1).Thickness),... 159 141 (md.results.TransientSolution(1).MaskIceLevelset),... 160 (md.results.TransientSolution(1).CalvingCalvingrate),...161 142 (md.results.TransientSolution(1).CalvingMeltingrate),... 162 (md.results.TransientSolution(1).BasalforcingsFloatingiceMeltingRate),...163 143 (md.results.TransientSolution(20).Vx),... 164 144 (md.results.TransientSolution(20).Vy),... … … 166 146 (md.results.TransientSolution(20).Thickness),... 167 147 (md.results.TransientSolution(20).MaskIceLevelset),... 168 (md.results.TransientSolution(20).CalvingCalvingrate),...169 148 (md.results.TransientSolution(20).CalvingMeltingrate),... 170 (md.results.TransientSolution(20).BasalforcingsFloatingiceMeltingRate),...171 149 (md.results.TransientSolution(40).Vx),... 172 150 (md.results.TransientSolution(40).Vy),... … … 174 152 (md.results.TransientSolution(40).Thickness),... 175 153 (md.results.TransientSolution(40).MaskIceLevelset),... 176 (md.results.TransientSolution(40).CalvingCalvingrate),...177 154 (md.results.TransientSolution(40).CalvingMeltingrate),... 178 (md.results.TransientSolution(40).BasalforcingsFloatingiceMeltingRate),...179 155 }; -
issm/trunk-jpl/test/NightlyRun/test543.py
r27354 r27411 1 #Test Name: PigTran Stochasticforcing1 #Test Name: PigTranRignotarma 2 2 import numpy as np 3 3 from frontalforcingsrignotarma import frontalforcingsrignotarma … … 29 29 for vertex in range(3): 30 30 idb_tf[ii] = 2 31 # Basin separation default32 idb_df = np.zeros((md.mesh.numberofelements,))33 iid1 = np.where(md.mesh.x <= -1.62e6)[0]34 for ii in range(md.mesh.numberofelements):35 for vertex in range(3):36 if md.mesh.elements[ii][vertex] - 1 in iid1: # one vertex in basin 1; NOTE: offset because of 1-based vertex indexing37 idb_df[ii] = 138 if idb_df[ii] == 0: # no vertex was found in basin 139 for vertex in range(3):40 idb_df[ii] = 241 31 #Dimensionalities 42 32 nb_tf = 2 43 nb_clv = 244 nb_flmlt = 245 33 46 34 # Calving parameters 47 35 md.mask.ice_levelset = 1e4 * (md.mask.ice_levelset + 0.5) 48 md.calving.calvingrate = 0 .3* np.ones((md.mesh.numberofvertices,))36 md.calving.calvingrate = 0 * np.ones((md.mesh.numberofvertices,)) 49 37 md.levelset.spclevelset = np.full((md.mesh.numberofvertices,), np.nan) 50 38 md.levelset.migration_max = 10.0 … … 119 107 md.frontalforcings.sd_polynomialparams = sd_polyparam 120 108 #Floating Ice Melt parameters 121 md.basalforcings.floatingice_melting_rate = 0. 1* np.ones((md.mesh.numberofvertices,))109 md.basalforcings.floatingice_melting_rate = 0.0 * np.ones((md.mesh.numberofvertices,)) 122 110 123 111 #Covariance matrix 124 112 covtf = 1e-4 * np.identity(nb_tf) 125 covclv = 1e-1 * np.identity(nb_clv) 126 covclv[0, 0] = 1 / 10 * covclv[0, 0] 127 covflmlt = 0.05 * np.identity(nb_flmlt) 113 covsd = 1e3 * np.identity(nb_tf) 128 114 #covglob = np.zeros([6,6]) 129 115 #covglob[0:2,0:2] = covtf … … 132 118 133 119 #Hard-coding covariance matrix because python is complaining 134 covglob = np.array([[1e-4, 0., 0., 0., 0., 0.,0.,0.], 135 [0., 1e-4, 0., 0., 0., 0.,0.,0.], 136 [0., 0., 1e-2, 0., 0., 0.,0.,0.], 137 [0., 0., 0., 1e-1, 0., 0.,0.,0.], 138 [0., 0., 0., 0., 0.05, 0.,0.,0.], 139 [0., 0., 0., 0., 0., 0.05,0.,0.], 140 [0., 0., 0., 0., 0., 0., 1e3,0.], 141 [0., 0., 0., 0., 0., 0.,0., 1e3]]) 120 covglob = np.array([[1e-4, 0., 0., 0.], 121 [0., 1e-4, 0., 0.], 122 [0., 0., 1e3, 0.], 123 [0., 0., 0., 1e3]]) 142 124 #testchol = np.linalg.cholesky(covglob) 143 125 #print(testchol) … … 145 127 # Stochastic forcing 146 128 md.stochasticforcing.isstochasticforcing = 1 147 md.stochasticforcing.fields = ['FrontalForcingsRignotarma', 'DefaultCalving', 'FloatingMeltRate','FrontalForcingsSubglacialDischargearma']129 md.stochasticforcing.fields = ['FrontalForcingsRignotarma','FrontalForcingsSubglacialDischargearma'] 148 130 md.stochasticforcing.defaultdimension = 2 149 md.stochasticforcing.default_id = idb_ df131 md.stochasticforcing.default_id = idb_tf 150 132 md.stochasticforcing.covariance = covglob # global covariance among- and between-fields 151 133 md.stochasticforcing.randomflag = 0 # determines true/false randomness … … 160 142 # Fields and tolerances to track changes 161 143 field_names = [ 162 'Vx1', 'Vy1', 'Vel1', 'Thickness1', 'MaskIceLevelset1', 'Calving Calvingrate1', 'CalvingMeltingrate1', 'BasalforcingsFloatingiceMeltingRate1',163 'Vx2', 'Vy2', 'Vel2', 'Thickness2', 'MaskIceLevelset2', 'Calving Calvingrate2', 'CalvingMeltingrate2', 'BasalforcingsFloatingiceMeltingRate2',164 'Vx10', 'Vy10', 'Vel10', 'Thickness10', 'MaskIceLevelset10', 'Calving Calvingrate10', 'CalvingMeltingrate10', 'BasalforcingsFloatingiceMeltingRate10']144 'Vx1', 'Vy1', 'Vel1', 'Thickness1', 'MaskIceLevelset1', 'CalvingMeltingrate1', 145 'Vx2', 'Vy2', 'Vel2', 'Thickness2', 'MaskIceLevelset2', 'CalvingMeltingrate2', 146 'Vx10', 'Vy10', 'Vel10', 'Thickness10', 'MaskIceLevelset10', 'CalvingMeltingrate10'] 165 147 166 148 field_tolerances = [ 167 1e-11, 2e-11, 2e-11, 1e-11, 1e-9, 1e-10, 1e-10,1e-10,168 2e-11, 1e-11, 1e-11, 9e-11, 2e-9, 1e-10, 1e-10,1e-10,169 2e-6, 1e-6, 1e-6, 1e-6, 5e-6, 1e-6, 1e-6,1e-6]149 1e-11,2e-11,2e-11,1e-11,1e-9,1e-10, 150 2e-11,1e-11,1e-11,9e-11,2e-9,1e-10, 151 2e-6,1e-6,1e-6,1e-6,5e-6,1e-6] 170 152 field_values = [ 171 153 md.results.TransientSolution[0].Vx, … … 174 156 md.results.TransientSolution[0].Thickness, 175 157 md.results.TransientSolution[0].MaskIceLevelset, 176 md.results.TransientSolution[0].CalvingCalvingrate,177 158 md.results.TransientSolution[0].CalvingMeltingrate, 178 md.results.TransientSolution[0].BasalforcingsFloatingiceMeltingRate,179 159 md.results.TransientSolution[19].Vx, 180 160 md.results.TransientSolution[19].Vy, … … 182 162 md.results.TransientSolution[19].Thickness, 183 163 md.results.TransientSolution[19].MaskIceLevelset, 184 md.results.TransientSolution[19].CalvingCalvingrate,185 164 md.results.TransientSolution[19].CalvingMeltingrate, 186 md.results.TransientSolution[19].BasalforcingsFloatingiceMeltingRate,187 165 md.results.TransientSolution[39].Vx, 188 166 md.results.TransientSolution[39].Vy, … … 190 168 md.results.TransientSolution[39].Thickness, 191 169 md.results.TransientSolution[39].MaskIceLevelset, 192 md.results.TransientSolution[39].CalvingCalvingrate, 193 md.results.TransientSolution[39].CalvingMeltingrate, 194 md.results.TransientSolution[39].BasalforcingsFloatingiceMeltingRate] 170 md.results.TransientSolution[39].CalvingMeltingrate]
Note:
See TracChangeset
for help on using the changeset viewer.