Changeset 26821


Ignore:
Timestamp:
01/26/22 09:28:47 (3 years ago)
Author:
vverjans
Message:

BUG: working on Python syntax wrt revision 26810

File:
1 edited

Legend:

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

    r26818 r26821  
    121121        temprefelevation  = np.copy(md.smb.refelevation)
    122122        if(np.any(np.isnan(md.smb.lapserate_pos))):
    123             templapserate_pos = np.zeros((md.smb.num_basins))
     123            templapserate_pos = np.zeros((md.smb.num_basins)).reshape(1,md.smb.num_basins)
    124124            print('      smb.lapserate_pos not specified: set to 0')
    125125        if(np.any(np.isnan(md.smb.lapserate_neg))):
    126             templapserate_neg = np.zeros((md.smb.num_basins))
     126            templapserate_neg = np.zeros((md.smb.num_basins)).reshape(1,md.smb.num_basins)
    127127            print('      smb.lapserate_neg not specified: set to 0')
    128128        if(np.any(np.isnan(md.smb.refelevation))):
    129             temprefelevation = np.zeros((md.smb.num_basins))
     129            temprefelevation = np.zeros((md.smb.num_basins)).reshape(1,md.smb.num_basins)
    130130            areas = GetAreas(md.mesh.elements, md.mesh.x, md.mesh.y)
    131131            for ii,bid in enumerate(np.unique(md.smb.basin_id)):
     
    133133                elemsh  = np.zeros((len(indices)))
    134134                for jj in range(len(indices)):
    135                     #elemsh[jj] = np.mean(md.geometry.surface[md.mesh.elements[indices[jj],:]-1])
    136                     sumval = 0
    137                     cntval = 0
    138                     elemindices = md.mesh.elements[indices[jj],:]-1
    139                     for kk in range(len(elemindices)):
    140                         sumval += md.geometry.surface[elemindices[kk]]
    141                         cntval += 1
    142                     elemsh[jj] = sumval/cntval
    143                 temprefelevation[ii] = np.sum(areas[indices]*elemsh)/np.sum(areas[indices])
     135                    elemsh[jj] = np.mean(md.geometry.surface[md.mesh.elements[indices[jj],:]-1])
     136                temprefelevation[0,ii] = np.sum(areas[indices]*elemsh)/np.sum(areas[indices])
    144137            if(np.any(templapserate_pos!=0) or np.any(templapserate_neg!=0)):
    145138                print('      smb.refelevation not specified: Reference elevations set to mean surface elevation of basins')
Note: See TracChangeset for help on using the changeset viewer.