Ignore:
Timestamp:
02/25/22 00:34:01 (3 years ago)
Author:
bdef
Message:

CHG: id indexing change in autoregression to be consistent with matlab

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/test/NightlyRun/test543.py

    r26674 r26907  
    11#Test Name: PigTranStochasticforcing
    22import numpy as np
    3 
    4 from frontalforcingsrignotautoregression import *
     3from frontalforcingsrignotautoregression import frontalforcingsrignotautoregression
    54from socket import gethostname
    65from model import *
    7 from parameterize import *
    8 from setflowequation import *
    9 from setmask import *
    10 from solve import *
    11 from triangle import *
     6from parameterize import parameterize
     7from setflowequation import setflowequation
     8from setmask import setmask
     9from solve import solve
     10from triangle import triangle
    1211
    1312
     
    4140            idb_df[ii] = 2
    4241#Dimensionalities
    43 nb_tf    = 2
    44 nb_clv   = 2
     42nb_tf = 2
     43nb_clv  = 2
    4544nb_flmlt = 2
    4645
    4746# Calving parameters
    4847md.mask.ice_levelset = 1e4 * (md.mask.ice_levelset + 0.5)
    49 md.calving.calvingrate = 0.3*np.ones((md.mesh.numberofvertices,))
     48md.calving.calvingrate = 0.3 * np.ones((md.mesh.numberofvertices,))
    5049md.levelset.spclevelset = np.full((md.mesh.numberofvertices,), np.nan)
    5150md.levelset.migration_max = 10.0
     
    5352md.frontalforcings = frontalforcingsrignotautoregression()
    5453md.frontalforcings.num_basins = nb_tf
    55 md.frontalforcings.basin_id = idb_tf - 1  # NOTE: offset because of 1-based vertex indexing
     54md.frontalforcings.basin_id = idb_tf
    5655md.frontalforcings.subglacial_discharge = 0.1 * np.ones((md.mesh.numberofvertices,))
    5756md.frontalforcings.beta0 = np.array([[0.05, 0.01]])  # intercept values of TF in basins [C]
     
    6261md.frontalforcings.phi = np.array([[0.1, -0.1, 0.01, -0.01], [0.2, -0.2, 0.1, 0.0]])  # autoregressive parameters
    6362#Floating Ice Melt parameters
    64 md.basalforcings.floatingice_melting_rate = 0.1*np.ones((md.mesh.numberofvertices,))
     63md.basalforcings.floatingice_melting_rate = 0.1 * np.ones((md.mesh.numberofvertices,))
    6564
    6665#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)
     66covtf = 1e-4 * np.identity(nb_tf)
     67covclv = 1e-1 * np.identity(nb_clv)
     68covclv[0, 0] = 1 / 10 * covclv[0, 0]
     69covflmlt = 0.05 * np.identity(nb_flmlt)
    7170#covglob          = np.zeros([6,6])
    7271#covglob[0:2,0:2] = covtf
     
    7574
    7675#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]])
     76covglob = 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]])
    7882#testchol = np.linalg.cholesky(covglob)
    7983#print(testchol)
     
    8185# Stochastic forcing
    8286md.stochasticforcing.isstochasticforcing = 1
    83 md.stochasticforcing.fields = ['FrontalForcingsRignotAutoregression','DefaultCalving','FloatingMeltRate']
     87md.stochasticforcing.fields = ['FrontalForcingsRignotAutoregression', 'DefaultCalving', 'FloatingMeltRate']
    8488md.stochasticforcing.defaultdimension = 2
    85 md.stochasticforcing.default_id       = idb_df-1 #NOTE: offset because of 1-based vertex indexing
    86 md.stochasticforcing.covariance       = covglob # global covariance among- and between-fields
    87 md.stochasticforcing.randomflag       = 0 # determines true/false randomness
     89md.stochasticforcing.default_id = idb_df
     90md.stochasticforcing.covariance = covglob # global covariance among- and between-fields
     91md.stochasticforcing.randomflag = 0 # determines true/false randomness
    8892
    89 md.transient.ismovingfront   = 1
     93md.transient.ismovingfront = 1
    9094md.transient.isgroundingline = 1
    9195
    92 md.transient.requested_outputs = ['default', 'CalvingCalvingrate','CalvingMeltingrate','BasalforcingsFloatingiceMeltingRate']
     96md.transient.requested_outputs = ['default', 'CalvingCalvingrate', 'CalvingMeltingrate', 'BasalforcingsFloatingiceMeltingRate']
    9397md.cluster = generic('name', gethostname(), 'np', 2)
    9498md = solve(md, 'Transient')
     
    96100# Fields and tolerances to track changes
    97101field_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']
    102105
    103106field_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]
    108110field_values = [
    109111    md.results.TransientSolution[0].Vx,
     
    130132    md.results.TransientSolution[9].CalvingCalvingrate,
    131133    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.