Changeset 26907 for issm/trunk-jpl/test/NightlyRun/test543.py
- Timestamp:
- 02/25/22 00:34:01 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/test/NightlyRun/test543.py
r26674 r26907 1 1 #Test Name: PigTranStochasticforcing 2 2 import numpy as np 3 4 from frontalforcingsrignotautoregression import * 3 from frontalforcingsrignotautoregression import frontalforcingsrignotautoregression 5 4 from socket import gethostname 6 5 from model import * 7 from parameterize import *8 from setflowequation import *9 from setmask import *10 from solve import *11 from triangle import *6 from parameterize import parameterize 7 from setflowequation import setflowequation 8 from setmask import setmask 9 from solve import solve 10 from triangle import triangle 12 11 13 12 … … 41 40 idb_df[ii] = 2 42 41 #Dimensionalities 43 nb_tf 44 nb_clv 42 nb_tf = 2 43 nb_clv = 2 45 44 nb_flmlt = 2 46 45 47 46 # Calving parameters 48 47 md.mask.ice_levelset = 1e4 * (md.mask.ice_levelset + 0.5) 49 md.calving.calvingrate = 0.3 *np.ones((md.mesh.numberofvertices,))48 md.calving.calvingrate = 0.3 * np.ones((md.mesh.numberofvertices,)) 50 49 md.levelset.spclevelset = np.full((md.mesh.numberofvertices,), np.nan) 51 50 md.levelset.migration_max = 10.0 … … 53 52 md.frontalforcings = frontalforcingsrignotautoregression() 54 53 md.frontalforcings.num_basins = nb_tf 55 md.frontalforcings.basin_id = idb_tf - 1 # NOTE: offset because of 1-based vertex indexing54 md.frontalforcings.basin_id = idb_tf 56 55 md.frontalforcings.subglacial_discharge = 0.1 * np.ones((md.mesh.numberofvertices,)) 57 56 md.frontalforcings.beta0 = np.array([[0.05, 0.01]]) # intercept values of TF in basins [C] … … 62 61 md.frontalforcings.phi = np.array([[0.1, -0.1, 0.01, -0.01], [0.2, -0.2, 0.1, 0.0]]) # autoregressive parameters 63 62 #Floating Ice Melt parameters 64 md.basalforcings.floatingice_melting_rate = 0.1 *np.ones((md.mesh.numberofvertices,))63 md.basalforcings.floatingice_melting_rate = 0.1 * np.ones((md.mesh.numberofvertices,)) 65 64 66 65 #Covariance matrix 67 covtf = 1e-4*np.identity(nb_tf)68 covclv = 1e-1*np.identity(nb_clv)69 covclv[0, 0] = 1/10*covclv[0,0]70 covflmlt = 0.05*np.identity(nb_flmlt)66 covtf = 1e-4 * np.identity(nb_tf) 67 covclv = 1e-1 * np.identity(nb_clv) 68 covclv[0, 0] = 1 / 10 * covclv[0, 0] 69 covflmlt = 0.05 * np.identity(nb_flmlt) 71 70 #covglob = np.zeros([6,6]) 72 71 #covglob[0:2,0:2] = covtf … … 75 74 76 75 #Hard-coding covariance matrix because python is complaining 77 covglob = np.array([[1e-4,0.,0.,0.,0.,0.],[0.,1e-4,0.,0.,0.,0.],[0.,0.,1e-2,0.,0.,0.],[0.,0.,0.,1e-1,0.,0.],[0.,0.,0.,0.,0.05,0.],[0.,0.,0.,0.,0.,0.05]]) 76 covglob = np.array([[1e-4, 0., 0., 0., 0., 0.], 77 [0., 1e-4, 0., 0., 0., 0.], 78 [0., 0., 1e-2, 0., 0., 0.], 79 [0., 0., 0., 1e-1, 0., 0.], 80 [0., 0., 0., 0., 0.05, 0.], 81 [0., 0., 0., 0., 0., 0.05]]) 78 82 #testchol = np.linalg.cholesky(covglob) 79 83 #print(testchol) … … 81 85 # Stochastic forcing 82 86 md.stochasticforcing.isstochasticforcing = 1 83 md.stochasticforcing.fields = ['FrontalForcingsRignotAutoregression', 'DefaultCalving','FloatingMeltRate']87 md.stochasticforcing.fields = ['FrontalForcingsRignotAutoregression', 'DefaultCalving', 'FloatingMeltRate'] 84 88 md.stochasticforcing.defaultdimension = 2 85 md.stochasticforcing.default_id = idb_df-1 #NOTE: offset because of 1-based vertex indexing86 md.stochasticforcing.covariance = covglob# global covariance among- and between-fields87 md.stochasticforcing.randomflag = 0# determines true/false randomness89 md.stochasticforcing.default_id = idb_df 90 md.stochasticforcing.covariance = covglob # global covariance among- and between-fields 91 md.stochasticforcing.randomflag = 0 # determines true/false randomness 88 92 89 md.transient.ismovingfront 93 md.transient.ismovingfront = 1 90 94 md.transient.isgroundingline = 1 91 95 92 md.transient.requested_outputs = ['default', 'CalvingCalvingrate', 'CalvingMeltingrate','BasalforcingsFloatingiceMeltingRate']96 md.transient.requested_outputs = ['default', 'CalvingCalvingrate', 'CalvingMeltingrate', 'BasalforcingsFloatingiceMeltingRate'] 93 97 md.cluster = generic('name', gethostname(), 'np', 2) 94 98 md = solve(md, 'Transient') … … 96 100 # Fields and tolerances to track changes 97 101 field_names = [ 98 'Vx1' ,'Vy1' ,'Vel1' ,'Thickness1' ,'MaskIceLevelset1' ,'CalvingCalvingrate1' ,'CalvingMeltingrate1' ,'BasalforcingsFloatingiceMeltingRate1', 99 'Vx2' ,'Vy2' ,'Vel2' ,'Thickness2' ,'MaskIceLevelset2' ,'CalvingCalvingrate1' ,'CalvingMeltingrate2' ,'BasalforcingsFloatingiceMeltingRate2', 100 'Vx10','Vy10','Vel10','Thickness10','MaskIceLevelset10','CalvingCalvingrate10','CalvingMeltingrate10','BasalforcingsFloatingiceMeltingRate10' 101 ] 102 'Vx1', 'Vy1', 'Vel1', 'Thickness1', 'MaskIceLevelset1', 'CalvingCalvingrate1', 'CalvingMeltingrate1', 'BasalforcingsFloatingiceMeltingRate1', 103 'Vx2', 'Vy2', 'Vel2', 'Thickness2', 'MaskIceLevelset2', 'CalvingCalvingrate1', 'CalvingMeltingrate2', 'BasalforcingsFloatingiceMeltingRate2', 104 'Vx10', 'Vy10', 'Vel10', 'Thickness10', 'MaskIceLevelset10', 'CalvingCalvingrate10', 'CalvingMeltingrate10', 'BasalforcingsFloatingiceMeltingRate10'] 102 105 103 106 field_tolerances = [ 104 1e-11,2e-11,2e-11,1e-11,1e-9,1e-10,1e-10,1e-10, 105 2e-11,1e-11,1e-11,9e-11,2e-9,1e-10,1e-10,1e-10, 106 2e-10,1e-10,1e-10,1e-10,5e-9,1e-10,1e-10,1e-10 107 ] 107 1e-11, 2e-11, 2e-11, 1e-11, 1e-9, 1e-10, 1e-10, 1e-10, 108 2e-11, 1e-11, 1e-11, 9e-11, 2e-9, 1e-10, 1e-10, 1e-10, 109 2e-10, 1e-10, 1e-10, 1e-10, 5e-9, 1e-10, 1e-10, 1e-10] 108 110 field_values = [ 109 111 md.results.TransientSolution[0].Vx, … … 130 132 md.results.TransientSolution[9].CalvingCalvingrate, 131 133 md.results.TransientSolution[9].CalvingMeltingrate, 132 md.results.TransientSolution[9].BasalforcingsFloatingiceMeltingRate 133 ] 134 md.results.TransientSolution[9].BasalforcingsFloatingiceMeltingRate]
Note:
See TracChangeset
for help on using the changeset viewer.