- Timestamp:
- May 25, 2010, 12:47:58 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
anuga_core/source/anuga/file_conversion/test_file_conversion.py
r7743 r7744 2241 2241 2242 2242 2243 def test_read_asc(self): 2244 """Test conversion from dem in ascii format to native NetCDF format 2245 """ 2246 2247 import time, os 2248 2249 from file_conversion import _read_asc 2250 #Write test asc file 2251 filename = tempfile.mktemp(".000") 2252 fid = open(filename, 'w') 2253 fid.write("""ncols 7 2254 nrows 4 2255 xllcorner 2000.5 2256 yllcorner 3000.5 2257 cellsize 25 2258 NODATA_value -9999 2259 97.921 99.285 125.588 180.830 258.645 342.872 415.836 2260 473.157 514.391 553.893 607.120 678.125 777.283 883.038 2261 984.494 1040.349 1008.161 900.738 730.882 581.430 514.980 2262 502.645 516.230 504.739 450.604 388.500 338.097 514.980 2263 """) 2264 fid.close() 2265 bath_metadata, grid = _read_asc(filename, verbose=self.verbose) 2266 self.failUnless(bath_metadata['xllcorner'] == 2000.5, 'Failed') 2267 self.failUnless(bath_metadata['yllcorner'] == 3000.5, 'Failed') 2268 self.failUnless(bath_metadata['cellsize'] == 25, 'Failed') 2269 self.failUnless(bath_metadata['NODATA_value'] == -9999, 'Failed') 2270 self.failUnless(grid[0][0] == 97.921, 'Failed') 2271 self.failUnless(grid[3][6] == 514.980, 'Failed') 2272 2273 os.remove(filename) 2274 2275 2276 #### TESTS FOR URS 2 SWW ### 2277 2278 def create_mux(self, points_num=None): 2279 # write all the mux stuff. 2280 time_step_count = 3 2281 time_step = 0.5 2282 2283 longitudes = [150.66667, 150.83334, 151., 151.16667] 2284 latitudes = [-34.5, -34.33333, -34.16667, -34] 2285 2286 if points_num == None: 2287 points_num = len(longitudes) * len(latitudes) 2288 2289 lonlatdeps = [] 2290 quantities = ['HA','UA','VA'] 2291 mux_names = [WAVEHEIGHT_MUX_LABEL, 2292 EAST_VELOCITY_LABEL, 2293 NORTH_VELOCITY_LABEL] 2294 quantities_init = [[],[],[]] 2295 # urs binary is latitude fastest 2296 for i,lon in enumerate(longitudes): 2297 for j,lat in enumerate(latitudes): 2298 _ , e, n = redfearn(lat, lon) 2299 lonlatdeps.append([lon, lat, n]) 2300 quantities_init[0].append(e) # HA 2301 quantities_init[1].append(n ) # UA 2302 quantities_init[2].append(e) # VA 2303 #print "lonlatdeps",lonlatdeps 2304 2305 file_handle, base_name = tempfile.mkstemp("") 2306 os.close(file_handle) 2307 os.remove(base_name) 2308 2309 files = [] 2310 for i,q in enumerate(quantities): 2311 quantities_init[i] = ensure_numeric(quantities_init[i]) 2312 #print "HA_init", HA_init 2313 q_time = num.zeros((time_step_count, points_num), num.float) 2314 for time in range(time_step_count): 2315 q_time[time,:] = quantities_init[i] #* time * 4 2316 2317 #Write C files 2318 columns = 3 # long, lat , depth 2319 file = base_name + mux_names[i] 2320 #print "base_name file",file 2321 f = open(file, 'wb') 2322 files.append(file) 2323 f.write(pack('i',points_num)) 2324 f.write(pack('i',time_step_count)) 2325 f.write(pack('f',time_step)) 2326 2327 #write lat/long info 2328 for lonlatdep in lonlatdeps: 2329 for float in lonlatdep: 2330 f.write(pack('f',float)) 2331 2332 # Write quantity info 2333 for time in range(time_step_count): 2334 for point_i in range(points_num): 2335 f.write(pack('f',q_time[time,point_i])) 2336 #print " mux_names[i]", mux_names[i] 2337 #print "f.write(pack('f',q_time[time,i]))", q_time[time,point_i] 2338 f.close() 2339 return base_name, files 2340 2243 2341 #------------------------------------------------------------- 2244 2342
Note: See TracChangeset
for help on using the changeset viewer.