Changeset 27467


Ignore:
Timestamp:
12/21/22 06:32:22 (2 years ago)
Author:
vverjans
Message:

BUG fixing bugs

Location:
issm/trunk-jpl/src/m/classes
Files:
2 edited

Legend:

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

    r27465 r27467  
    174174                                tempelevationbins = repmat(tempelevationbins,1,1,12); %same values each month
    175175                        end
     176                        nbas     = size(templapserates,1);
     177         nbins    = size(templapserates,2);
     178         ntmlapse = size(templapserates,3);
    176179                        if(any(isnan(md.smb.refelevation)))
    177180                                temprefelevation = zeros(1,md.smb.num_basins);
     
    185188                                        temprefelevation(ii) = sum(areas(indices).*elemsh)/sum(areas(indices));
    186189                                end
    187                                 if(any(reshape(md.smb.lapserates,[1,nbas*nbins*12])~=0))
     190                                if(any(reshape(templapserates,[1,nbas*nbins*12])~=0))
    188191                                        disp('      smb.refelevation not specified: Reference elevations set to mean surface elevation of basins');
    189192                                end
    190193                        end
    191                         nbas     = size(templapserates,1);
    192          nbins    = size(templapserates,2);
    193194                        temp2dlapserates    = zeros(nbas,nbins*12);
    194195                        temp2delevationbins = zeros(nbas,max(1,nbins-1)*12);
  • issm/trunk-jpl/src/m/classes/SMBarma.py

    r27465 r27467  
    171171        nprm = md.smb.num_params;
    172172        nper = md.smb.num_breaks+1;
    173         if(len(np.shape(md.smb.lapserates))==1):
    174             nbins    = 1
    175             ntmlapse = 1
    176         elif(len(np.shape(md.smb.lapserates))==2):
    177             nbins    = np.shape(md.smb.lapserates)[1]
    178             ntmlapse = 1
    179         elif(len(np.shape(md.smb.lapserates))==3):
    180             nbins    = np.shape(md.smb.lapserates)[1]
    181             ntmlapse = np.shape(md.smb.lapserates)[2]
    182         templapserates    = np.reshape(md.smb.lapserates,[nbas,nbins,ntmlapse])
    183         tempelevationbins = np.reshape(md.smb.elevationbins,[nbas,max(1,nbins-1),ntmlapse])
     173        if(np.any(np.isnan(md.smb.lapserates))):
     174            templapserates = np.zeros((md.smb.num_basins,2,12))
     175            print('      smb.lapserates not specified: set to 0')
     176            tempelevationbins = np.zeros((md.smb.num_basins,1,12)) #dummy elevation bins
     177            nbins    = 2
     178            ntmlapse = 12
     179        else:
     180            if(len(np.shape(md.smb.lapserates))==1):
     181                nbins    = 1
     182                ntmlapse = 1
     183            elif(len(np.shape(md.smb.lapserates))==2):
     184                nbins    = np.shape(md.smb.lapserates)[1]
     185                ntmlapse = 1
     186            elif(len(np.shape(md.smb.lapserates))==3):
     187                nbins    = np.shape(md.smb.lapserates)[1]
     188                ntmlapse = np.shape(md.smb.lapserates)[2]
     189            templapserates    = np.reshape(md.smb.lapserates,[nbas,nbins,ntmlapse])
     190            tempelevationbins = np.reshape(md.smb.elevationbins,[nbas,max(1,nbins-1),ntmlapse])
    184191        temprefelevation  = np.copy(md.smb.refelevation)
    185192        # Scale the parameters #
     
    217224            dbreaks = np.copy(md.smb.datebreaks)
    218225
    219         if(np.any(np.isnan(md.smb.lapserates))):
    220             templapserates = np.zeros((md.smb.num_basins,2,12))
    221             print('      smb.lapserates not specified: set to 0')
    222             tempelevationbins = np.zeros((md.smb.num_basins,1,12)) #dummy elevation bins
    223         elif(ntmlapse==1):
     226        if(ntmlapse==1):
    224227            templapserates    = np.repeat(templapserates,12,axis=2)
    225228            tempelevationbins = np.repeat(tempelevationbins,12,axis=2)
Note: See TracChangeset for help on using the changeset viewer.