Changeset 967


Ignore:
Timestamp:
Feb 28, 2005, 1:38:35 PM (19 years ago)
Author:
ole
Message:

Changed calling syntax of some of the conversion functions

Location:
inundation/ga/storm_surge/pyvolution
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • inundation/ga/storm_surge/pyvolution/data_manager.py

    r955 r967  
    840840    return cls(domain, mode)
    841841
    842 def dem2pts(filename, verbose=False):
     842def dem2pts(basename_in, basename_out=None, verbose=False):
    843843    """Read Digitial Elevation model from the following NetCDF format (.dem)
    844844
     
    863863    from Numeric import Float, arrayrange, concatenate   
    864864
    865     root, ext = os.path.splitext(filename)
     865    root = basename_in
    866866
    867867    #Get NetCDF
    868     infile = NetCDFFile(filename, 'r')  #Open existing netcdf file for read
    869 
    870     if verbose: print 'Reading DEM from %s' %filename
     868    infile = NetCDFFile(root + '.dem', 'r')  #Open existing netcdf file for read
     869
     870    if verbose: print 'Reading DEM from %s' %(root + '.dem')
    871871   
    872872    ncols = infile.ncols[0]
     
    888888   
    889889
    890     #Get output file                               
    891     xyaname = root + '.pts'
    892     if verbose: print 'Store to NetCDF file %s' %xyaname
     890    #Get output file
     891    if basename_out == None:
     892        ptsname = root + '.pts'
     893    else:
     894        ptsname = basename_out + '.pts'
     895       
     896    if verbose: print 'Store to NetCDF file %s' %ptsname
    893897    # NetCDF file definition
    894     outfile = NetCDFFile(xyaname, 'w')
     898    outfile = NetCDFFile(ptsname, 'w')
    895899       
    896900    #Create new file
     
    946950
    947951                                     
    948 def convert_dem_from_ascii2netcdf(filename, verbose=False):
     952def convert_dem_from_ascii2netcdf(basename_in, basename_out = None,
     953                                  verbose=False):
    949954    """Read Digitial Elevation model from the following ASCII format (.asc)
    950955
     
    959964    138.3698 137.4194 136.5062 135.5558 ..........
    960965
    961     Convert to NetCDF format (.dem) mimcing the ASCII format closely.
    962 
    963 
    964     An accompanying file with same basename but extension .prj must exist
     966    Convert basename_in + '.asc' to NetCDF format (.dem)
     967    mimicking the ASCII format closely.
     968
     969
     970    An accompanying file with same basename_in but extension .prj must exist
    965971    and is used to fix the UTM zone, datum, false northings and eastings.
    966972
     
    982988    from Numeric import Float, array
    983989
    984     root, ext = os.path.splitext(filename)
     990    #root, ext = os.path.splitext(basename_in)
     991    root = basename_in
    985992
    986993    ###########################################
     
    10281035    ###########################################
    10291036    #Read DEM data
    1030     datafile = open(filename)
    1031 
    1032     if verbose: print 'Reading DEM from %s' %filename
     1037   
     1038    datafile = open(basename_in + '.asc')
     1039
     1040    if verbose: print 'Reading DEM from %s' %(basename_in + '.asc')
    10331041    lines = datafile.readlines()
    10341042    datafile.close()
     
    10481056    ##########################################
    10491057
    1050    
    1051     netcdfname = root + '.dem'
     1058
     1059    if basename_out == None:
     1060        netcdfname = root + '.dem'
     1061    else:
     1062        netcdfname = basename_out + '.dem'       
     1063       
    10521064    if verbose: print 'Store to NetCDF file %s' %netcdfname
    10531065    # NetCDF file definition
     
    10961108   
    10971109
    1098 
    1099 
    1100 def ferret2sww(basefilename, verbose=False,
    1101                minlat = None, maxlat =None,
    1102                minlon = None, maxlon =None,
     1110def ferret2sww(basename_in, basename_out = None,
     1111               verbose = False,
     1112               minlat = None, maxlat = None,
     1113               minlon = None, maxlon = None,
    11031114               mint = None, maxt = None, mean_stage = 0,
    11041115               origin = None, zscale = 1):
     
    11061117    sww format native to pyvolution.
    11071118
    1108     Specify only basefilename and read files of the form
     1119    Specify only basename_in and read files of the form
    11091120    basefilename_ha.nc, basefilename_ua.nc, basefilename_va.nc containing
    11101121    relative height, x-velocity and y-velocity, respectively.
     
    11351146
    11361147    #Get NetCDF data
    1137     if verbose: print 'Reading files %s_*.nc' %basefilename
    1138     file_h = NetCDFFile(basefilename + '_ha.nc', 'r') #Wave amplitude (cm)
    1139     file_u = NetCDFFile(basefilename + '_ua.nc', 'r') #Velocity (x) (cm/s)
    1140     file_v = NetCDFFile(basefilename + '_va.nc', 'r') #Velocity (y) (cm/s)   
    1141 
    1142     swwname = basefilename + '.sww'
     1148    if verbose: print 'Reading files %s_*.nc' %basename_in
     1149    file_h = NetCDFFile(basename_in + '_ha.nc', 'r') #Wave amplitude (cm)
     1150    file_u = NetCDFFile(basename_in + '_ua.nc', 'r') #Velocity (x) (cm/s)
     1151    file_v = NetCDFFile(basename_in + '_va.nc', 'r') #Velocity (y) (cm/s)   
     1152
     1153    if basename_out is None:
     1154        swwname = basename_in + '.sww'
     1155    else:
     1156        swwname = basename_out + '.sww'       
    11431157
    11441158    times = file_h.variables['TIME']
     
    12151229    outfile.institution = 'Geoscience Australia'
    12161230    outfile.description = 'Converted from Ferret files: %s, %s, %s'\
    1217                           %(basefilename + '_ha.nc',
    1218                             basefilename + '_ua.nc',
    1219                             basefilename + '_va.nc')
     1231                          %(basename_in + '_ha.nc',
     1232                            basename_in + '_ua.nc',
     1233                            basename_in + '_va.nc')
    12201234
    12211235
  • inundation/ga/storm_surge/pyvolution/test_data_manager.py

    r955 r967  
    508508
    509509        #Write test asc file
    510         root = 'demtest'+str(time.time())
     510        root = 'demtest'
    511511
    512512        filename = root+'.asc'
     
    554554       
    555555        #Convert to NetCDF xya
    556         convert_dem_from_ascii2netcdf(filename)
    557         dem2pts(root + '.dem')
     556        convert_dem_from_ascii2netcdf(root)
     557        dem2pts(root)
    558558
    559559        #Check contents
Note: See TracChangeset for help on using the changeset viewer.