Changeset 639


Ignore:
Timestamp:
12/18/17 12:41:52 (6 years ago)
Author:
dubos
Message:

devel/unstructured : Python interface to ARK time scheme

Location:
codes/icosagcm/devel/Python
Files:
2 edited

Legend:

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

    r636 r639  
    4040#----------------------- Cartesian mesh ----------------------- 
    4141 
    42 def squeeze(dims): 
    43 #    return np.zeros(dims) 
    44     return np.zeros([n for n in dims if n>1]) 
     42def squeeze(dims): return np.zeros([n for n in dims if n>1]) 
    4543 
    4644# arrays is a list of arrays 
     
    280278        self.lon3D_i, self.ll3D = np.meshgrid(lon_i, range(llm)) 
    281279        self.lat3D_i, self.ll3D = np.meshgrid(lat_i, range(llm)) 
    282     def field_theta(self): return squeeze((self.nqdyn,self.primal_num,self.llm)) 
    283     def field_mass(self): return squeeze((self.primal_num,self.llm)) 
    284     def field_z(self): return squeeze((self.dual_num,self.llm)) 
    285     def field_w(self): return squeeze((self.primal_num,self.llm+1)) 
    286     def field_u(self): return squeeze((self.edge_num,self.llm)) 
    287     def field_ps(self): return squeeze((self.primal_num,)) 
     280    def field_theta(self,n=1): return squeeze((n,self.nqdyn,self.primal_num,self.llm)) 
     281    def field_mass(self,n=1):  return squeeze((n,self.primal_num,self.llm)) 
     282    def field_z(self,n=1):     return squeeze((n,self.dual_num,self.llm)) 
     283    def field_w(self,n=1):     return squeeze((n,self.primal_num,self.llm+1)) 
     284    def field_u(self,n=1):     return squeeze((n,self.edge_num,self.llm)) 
     285    def field_ps(self,n=1):    return squeeze((n,self.primal_num,)) 
    288286    def ucov2D(self, ulon, ulat):  
    289287        return self.de*(ulon*np.cos(self.angle_e)+ulat*np.sin(self.angle_e)) 
  • codes/icosagcm/devel/Python/src/functions.h

    r630 r639  
    11/* KERNELS */ 
    22 
     3enum {max_nb_stage=5}; 
     4extern double tauj[max_nb_stage]; 
     5extern double cslj[max_nb_stage][max_nb_stage], cflj[max_nb_stage][max_nb_stage]; 
     6 
    37void dynamico_init_params(void); 
     8 
     9void dynamico_ARK_step(double *mass_col, double *rhodz, double *theta_rhodz,  
     10                       double *u, double *geopot, double *w, 
     11                       double *theta, double *ps, double *pk, double *hflux, double *qv, 
     12                       double *dmass_col, double *drhodz, double *dtheta_rhodz, 
     13                       double *du_fast, double *du_slow, 
     14                       double *dPhi_fast, double *dPhi_slow,  
     15                       double *dW_fast, double *dW_slow); 
    416 
    517/* KERNELS -> XIOS */ 
     
    719void dynamico_xios_set_timestep(double); 
    820void dynamico_xios_update_calendar(int); 
    9  
    1021/* CXIOS */ 
    1122void cxios_context_close_definition(void); 
Note: See TracChangeset for help on using the changeset viewer.