Changeset 636


Ignore:
Timestamp:
12/12/17 22:45:46 (6 years ago)
Author:
dubos
Message:

devel/Python : fix computation of hybrid coefs for periodic-box domain

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/Python/dynamico/meshes.py

    r631 r636  
    1414 
    1515def compute_hybrid_coefs(mass): 
    16     nx,llm=mass.shape 
    17     mass_dak = np.zeros((nx,llm)) 
    18     mass_dbk = np.zeros((nx,llm)) 
    19     mass_bl = np.zeros((nx,llm+1))+1. 
    20     for i in range(nx): 
    21         m_i = mass[i,:] 
    22         dbk_i = m_i/sum(m_i) 
    23         mass_dbk[i,:] = dbk_i 
    24         mass_bl[i,1:]= 1.-dbk_i.cumsum() 
     16    if mass.ndim==2 : 
     17        nx,llm=mass.shape 
     18        mass_dak = np.zeros((nx,llm)) 
     19        mass_dbk = np.zeros((nx,llm)) 
     20        mass_bl = np.zeros((nx,llm+1))+1. 
     21        for i in range(nx): 
     22            m_i = mass[i,:] 
     23            dbk_i = m_i/sum(m_i) 
     24            mass_dbk[i,:] = dbk_i 
     25            mass_bl[i,1:]= 1.-dbk_i.cumsum() 
     26    if mass.ndim==3 : 
     27        nx,ny,llm=mass.shape 
     28        mass_dak = np.zeros((nx,ny,llm)) 
     29        mass_dbk = np.zeros((nx,ny,llm)) 
     30        mass_bl = np.zeros((nx,ny,llm+1))+1. 
     31        for i in range(nx): 
     32            for j in range(ny): 
     33                m_ij = mass[i,j,:] 
     34                dbk_ij = m_ij/sum(m_ij) 
     35                mass_dbk[i,j,:] = dbk_ij 
     36                mass_bl[i,j,1:]= 1.-dbk_ij.cumsum() 
     37 
    2538    return mass_bl, mass_dak, mass_dbk 
    26  
    2739 
    2840#----------------------- Cartesian mesh ----------------------- 
Note: See TracChangeset for help on using the changeset viewer.