- Timestamp:
- 01/21/19 11:34:04 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/Python/test/py/Baroclinic_3D_ullrich.py
r800 r802 22 22 getargs.defaults(dt=360., llm=50) 23 23 24 getargs.config_log(filename='out.log',filemode='w') # must be done before calling Logger()24 #getargs.config_log(filename='out.log',filemode='w') # must be done before calling Logger() 25 25 # getargs.config_log(filename='out.log',filemode='w', 26 26 # format='%(processName)s:%(name)s:%(filename)s:%(module)s:%(funcName)s:%(lineno)d:%(levelname)s:%(message)s' ) 27 27 28 logging = getargs.Logger('main')29 28 args = getargs.parse() 29 log_master, log_world = getargs.getLogger() 30 INFO, DEBUG, DEBUG_ALL, ERROR = log_master.info, log_master.debug, log_world.debug, log_world.error 30 31 31 32 from dynamico import unstructured as unst … … 50 51 def create_pmesh(nx,ny): 51 52 filename = 'cart_%03d_%03d.nc'%(nx,ny) 52 logging.info('Reading Cartesian mesh ...')53 INFO('Reading Cartesian mesh ...') 53 54 meshfile = meshes.DYNAMICO_Format(filename) 54 55 pmesh = meshes.Unstructured_PMesh(comm,meshfile) … … 105 106 y_ek, alpha_ek = np.meshgrid(mesh.lat_e, alpha_k, indexing='ij') 106 107 107 print(np.shape(alpha_k),np.shape(alpha_l))108 # print(np.shape(alpha_k),np.shape(alpha_l)) 108 109 thermo = dyn.Ideal_perfect(Cpd, Rd, p0, T0) 109 110 … … 127 128 u_ek = mesh.ucov3D(ulon(x_ek, y_ek, eta_ek), 0.*eta_ek) 128 129 129 print('ztop (m) = ', Phi_il[0,-1]/g, ztop)130 INFO('ztop (m) = %f %f' % (Phi_il[0,-1]/g, ztop) ) 130 131 ptop = p(eta(1.)) 131 print( 'ptop (Pa) = ', gas.p[0,-1], ptop)132 print('ztop(ptop) according to Eq. 7:', T0/lap*(1.-(ptop/p0)**(Rd*lap/g)))132 INFO( 'ptop (Pa) = %f %f' % (gas.p[0,-1], ptop) ) 133 INFO('ztop(ptop) according to Eq. 7: %f' % (T0/lap*(1.-(ptop/p0)**(Rd*lap/g))) ) 133 134 134 135 params=dyn.Struct() … … 140 141 # define parameters for lower BC 141 142 pbot = p(eta_il[:,0]) 142 print( 'min p, T :', pbot.min(), tmean(pbot/p0))143 INFO( 'min p, T : %f %s' % (pbot.min(), tmean(pbot/p0)) ) 143 144 gas_bot = thermo.set_pT(pbot, tmean(pbot/p0)) 144 145 params.pbot = gas_bot.p … … 167 168 class myDavies(Davies): 168 169 def mask(self,x,y): 169 logging.debug('davies dy = %f'% dx)170 DEBUG('davies dy = %f'% dx) 170 171 return self.mask0(y,Ly,dx)*self.mask0(-y,0.,dx) 171 172 … … 174 175 mpi_rank, mpi_size = comm.Get_rank(), comm.Get_size() 175 176 176 logging.info('%d/%d starting'%(mpi_rank,mpi_size)) 177 177 INFO('%d/%d starting'%(mpi_rank,mpi_size)) 178 if mpi_rank>0 : 179 getargs.not_master() 180 unst.setvar('is_mpi_master', False) 181 178 182 g, Lx, Ly = 9.80616, 4e7, 6e6 179 183 nx, ny, llm = args.nx, args.ny, args.llm … … 181 185 182 186 unst.setvar('g',g) 183 187 unst.setvar('debug_hevi_solver', False) 188 184 189 pmesh = create_pmesh(nx,ny) 185 190 thermo, mesh, params, flow0, gas0 = baroclinic_3D(pmesh, dx,Lx,Ly,llm, args.ztop) … … 193 198 nt = int(math.ceil(T/dt)) 194 199 dt = T/nt 195 logging.info( 'Time step : %d x %g = %g s' % (nt,dt,nt*dt))200 INFO( 'Time step : %d x %g = %g s' % (nt,dt,nt*dt)) 196 201 197 202 … … 215 220 mesh.lon_i, mesh.lat_i, mesh.lon_e,mesh.lat_e) 216 221 # print('mask min/max :', davies.beta_i.min(), davies.beta_i.max() ) 217 logging.debug('mask min/max :')218 logging.debug('%f'% davies.beta_i.min())219 logging.debug('%f'% davies.beta_i.max())222 DEBUG('mask min/max :') 223 DEBUG('%f'% davies.beta_i.min()) 224 DEBUG('%f'% davies.beta_i.max()) 220 225 221 226 def next_flow(m,S,u,Phi,W): … … 285 290 context.send_field_dual('curl_abs', zeta_abs_vk) 286 291 287 print( 'ptop, model top (m) :', unst.getvar('ptop'), Phi.max()/unst.getvar('g'))292 INFO( 'ptop, model top (m) : %f %f' % (unst.getvar('ptop'), Phi.max()/unst.getvar('g')) ) 288 293 289 294 time1, elapsed1 =time.time(), unst.getvar('elapsed') … … 291 296 time2, elapsed2 =time.time(), unst.getvar('elapsed') 292 297 factor = 1000./nt 293 print( 'ms per full time step : ', factor*(time2-time1), factor*(elapsed2-elapsed1))298 INFO( 'ms per full time step : %f %f' %(factor*(time2-time1), factor*(elapsed2-elapsed1)) ) 294 299 factor = 1e9/(4*nt*nx*ny*llm) 295 print( 'nanosec per gridpoint per full time step : ', factor*(time2-time1), factor*(elapsed2-elapsed1)) 296 297 logging.info('************DONE************') 300 INFO( 'nanosec per gridpoint per full time step : %f %f' % 301 (factor*(time2-time1), factor*(elapsed2-elapsed1)) ) 302 303 INFO('************DONE************')
Note: See TracChangeset
for help on using the changeset viewer.