Changeset 689 for codes/icosagcm/devel/Python/dynamico/meshes.py
- Timestamp:
- 04/09/18 15:24:15 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/Python/dynamico/meshes.py
r687 r689 13 13 14 14 radian=180/math.pi 15 16 def zeros(dims): return np.zeros([n for n in dims if n>1], dtype=unst.np_num) 15 17 16 18 #------------------- Hybrid mass-based coordinate ------------- … … 68 70 69 71 #----------------------- Cartesian mesh ----------------------- 70 71 def squeeze(dims): return np.zeros([n for n in dims if n>1])72 72 73 73 # arrays is a list of arrays … … 177 177 Aiv,Aiv,f+0.*Aiv,le_de,Riv2,-wee) 178 178 179 def field_theta(self,n=1): return squeeze((n,self.nqdyn,self.ny,self.nx,self.llm))180 def field_mass(self,n=1): return squeeze((n,self.ny,self.nx,self.llm))181 def field_z(self,n=1): return squeeze((n,self.ny,self.nx,self.llm))182 def field_w(self,n=1): return squeeze((n,self.ny,self.nx,self.llm+1))179 def field_theta(self,n=1): return zeros((n,self.nqdyn,self.ny,self.nx,self.llm)) 180 def field_mass(self,n=1): return zeros((n,self.ny,self.nx,self.llm)) 181 def field_z(self,n=1): return zeros((n,self.ny,self.nx,self.llm)) 182 def field_w(self,n=1): return zeros((n,self.ny,self.nx,self.llm+1)) 183 183 def field_u(self,n=1): 184 184 if n==1: … … 186 186 else: 187 187 return np.zeros((n,self.ny,2*self.nx,self.llm)) 188 def field_ps(self,n=1): return squeeze((n,self.ny,self.nx))188 def field_ps(self,n=1): return zeros((n,self.ny,self.nx)) 189 189 def ucomp(self,u): return u[:,range(0,2*self.nx,2),:] 190 190 def set_ucomp(self,uv,u): uv[:,range(0,2*self.nx,2),:]=u … … 279 279 280 280 class Abstract_Mesh(Base_class): 281 def field_theta(self,n=1): return squeeze((n,self.nqdyn,self.primal_num,self.llm))282 def field_mass(self,n=1): return squeeze((n,self.primal_num,self.llm))283 def field_z(self,n=1): return squeeze((n,self.dual_num,self.llm))284 def field_w(self,n=1): return squeeze((n,self.primal_num,self.llm+1))285 def field_u(self,n=1): return squeeze((n,self.edge_num,self.llm))286 def field_ps(self,n=1): return squeeze((n,self.primal_num,))281 def field_theta(self,n=1): return zeros((n,self.nqdyn,self.primal_num,self.llm)) 282 def field_mass(self,n=1): return zeros((n,self.primal_num,self.llm)) 283 def field_z(self,n=1): return zeros((n,self.dual_num,self.llm)) 284 def field_w(self,n=1): return zeros((n,self.primal_num,self.llm+1)) 285 def field_u(self,n=1): return zeros((n,self.edge_num,self.llm)) 286 def field_ps(self,n=1): return zeros((n,self.primal_num,)) 287 287 def ucov2D(self, ulon, ulat): 288 288 return self.de*(ulon*np.cos(self.angle_e)+ulat*np.sin(self.angle_e))
Note: See TracChangeset
for help on using the changeset viewer.