# Sai Nudurupati and Erkan Istanbulluoglu - 14May2014 : # Example to use radiation_field.py import landlab from landlab import RasterModelGrid from landlab.components.radiation.radiation_field import Radiation import numpy as np import matplotlib.pyplot as plt from landlab.plot.imshow import imshow_field grid = RasterModelGrid(100, 100, 20.) elevation = np.random.rand(grid.number_of_nodes) * 1000 grid.add_zeros('node', 'Elevation', units='m') grid['node']['Elevation'] = elevation rad = Radiation(grid) current_time = 0.56 rad.update(current_time) plt.figure(0) imshow_field(grid, 'TotalShortWaveRadiation', values_at='cell', grid_units=('m', 'm')) plt.show()
# Sai Nudurupati and Erkan Istanbulluoglu- 16May2014 : # Example to use potential_evapotranspiration_field.py import landlab from landlab import RasterModelGrid from landlab.components.radiation.radiation_field import Radiation from landlab.components.PET.potential_evapotranspiration_field import PotentialEvapotranspiration import numpy as np import matplotlib.pyplot as plt from landlab.plot.imshow import imshow_field grid = RasterModelGrid(100, 100, 20.0) elevation = np.random.rand(grid.number_of_nodes) * 1000 grid.add_zeros("node", "Elevation", units="m") grid["node"]["Elevation"] = elevation rad = Radiation(grid) PET = PotentialEvapotranspiration(grid) current_time = 0.56 rad.update(current_time) PET.update(ConstantPotentialEvapotranspiration=10.0) plt.figure(0) imshow_field(grid, "RadiationFactor", values_at="cell", grid_units=("m", "m")) plt.figure(1) imshow_field(grid, "PotentialEvapotranspiration", values_at="cell", grid_units=("m", "m")) plt.savefig("PET_test") plt.show()
# Sai Nudurupati and Erkan Istanbulluoglu- 16May2014 : # Example to use potential_evapotranspiration_field.py import landlab from landlab import RasterModelGrid from landlab.components.radiation.radiation_field import Radiation from landlab.components.PET.potential_evapotranspiration_field import PotentialEvapotranspiration import numpy as np import matplotlib.pyplot as plt from landlab.plot.imshow import imshow_field grid = RasterModelGrid(100, 100, 20.) elevation = np.random.rand(grid.number_of_nodes) * 1000 grid.add_zeros('node', 'Elevation', units='m') grid['node']['Elevation'] = elevation rad = Radiation(grid) PET = PotentialEvapotranspiration(grid) current_time = 0.56 rad.update(current_time) PET.update(ConstantPotentialEvapotranspiration=10.0) plt.figure(0) imshow_field(grid, 'RadiationFactor', values_at='cell', grid_units=('m', 'm')) plt.figure(1) imshow_field(grid, 'PotentialEvapotranspiration', values_at='cell', grid_units=('m', 'm')) plt.savefig('PET_test') plt.show()
grid['node']['Elevation'] = elev ids = grid.node_index_at_cells # Burroughs slope_Burrough, aspect_Burrough = \ grid.calculate_slope_aspect_at_nodes_Burrough(ids,vals = 'Elevation') # Horn slope_horn,aspect_horn = \ grid.calculate_slope_aspect_at_nodes_horn(ids,vals = 'Elevation') ## BestFitPlane slope_BFP, aspect_BFP = grid.calculate_slope_aspect_at_nodes_bestFitPlane( ids, elev) pic = 0 plt.figure(pic) imshow_field(grid, 'Elevation', values_at='node', grid_units=('m', 'm')) plt.title('Elevation in m') #plt.savefig('Elevation_NS') pic += 1 plt.figure(pic) imshow_grid(grid, np.degrees(slope_Burrough), values_at='cell', grid_units=('m', 'm')) plt.title('Slope in degrees - Burrough 1998') #plt.savefig('Slope_Burrough_NS') pic += 1 plt.figure(pic) imshow_grid(grid,
# Sai Nudurupati and Erkan Istanbulluoglu- 16May2014 : # Example to use potential_evapotranspiration_field.py #import landlab from landlab import RasterModelGrid from landlab.components.radiation.radiation_field import Radiation from landlab.components.PET.potential_evapotranspiration_field import PotentialEvapotranspiration import numpy as np import matplotlib.pyplot as plt from landlab.plot.imshow import imshow_field grid = RasterModelGrid( 100, 100, 20. ) elevation = np.random.rand(grid.number_of_nodes) * 1000 grid.add_zeros('node','Elevation',units = 'm') grid['node']['Elevation'] = elevation rad = Radiation( grid ) PET = PotentialEvapotranspiration( grid ) current_time = 0.56 rad.update( current_time ) PET.update( ConstantPotentialEvapotranspiration = 10.0 ) plt.figure(0) imshow_field(grid,'RadiationFactor', values_at = 'cell', grid_units = ('m','m')) plt.figure(1) imshow_field(grid,'PotentialEvapotranspiration', values_at = 'cell', grid_units = ('m','m')) plt.savefig('PET_test') plt.show()
""" rad.update( current_time ) """ Create a figure window available from pyplot library. This allows separating figures while plotting multiple figures. """ plt.figure(0) """ Plot the cellular field 'TotalShortWaveRadiation' that is available on the grid. imshow_field is a Landlab plotting tool that reads the input of grid, the variable name that needs to be plotted, and type of field (whether it is 'cell' or 'node', etc... It also reads optional inputs (keywords), grid_units (units of grid X and Y axes , e.g. 'm'). For more options, please refer documentation for landlab.plot.imshow. """ imshow_field(grid,'TotalShortWaveRadiation', values_at = 'cell', grid_units = ('m','m')) """ The plot created can be saved using the function 'savefig' available in pyplot library. This file will be saved in the current directory that your python shell is in. You can know the current directory by using 'pwd' command in the shell. (This documentation works if Enthought Canopy is used. It might work for other packages too but is not tested by the author.) """ plt.savefig('Radiation') """ Plot another figure. """ plt.figure(1) """ Using Landlab plotting tool, lets plot another variable 'RadiationFactor'.
slope_Burrough, aspect_Burrough = \ grid.calculate_slope_aspect_at_nodes_Burrough(ids, vals='Elevation') # Horn slope_horn, aspect_horn = \ grid.calculate_slope_aspect_at_nodes_horn(ids, vals='Elevation') # BestFitPlane slope_BFP, aspect_BFP = grid.calculate_slope_aspect_at_nodes_bestFitPlane( ids, elev) # node_slopes_using_patches slope_NSP = grid.node_slopes_using_patches(elevs='Elevation', unit='degrees') pic = 0 plt.figure(pic) imshow_field(grid, 'Elevation', values_at='node', grid_units=('m', 'm')) plt.title('Elevation in m') # plt.savefig('Elevation_NS') pic += 1 plt.figure(pic) imshow_grid(grid, np.degrees(slope_Burrough), values_at='cell', grid_units=('m', 'm')) plt.title('Slope in degrees - Burrough 1998') # plt.savefig('Slope_Burrough_NS') pic += 1 plt.figure(pic) imshow_grid(grid, np.degrees(aspect_Burrough), values_at='cell', grid_units=('m', 'm')) plt.title('Aspect in degrees - Burrough 1998')
ids = grid.node_at_cell # Burroughs slope_burrough, aspect_burrough = grid.calculate_slope_aspect_at_nodes_burrough(ids, vals="Elevation") # Horn slope_horn, aspect_horn = grid.calculate_slope_aspect_at_nodes_horn(ids, vals="Elevation") # BestFitPlane slope_bfp, aspect_bfp = grid.calculate_slope_aspect_at_nodes_best_fit_plane(ids, elev) # node_slopes_using_patches slope_NSP = grid.node_slopes_using_patches(elevs="Elevation", unit="degrees") pic = 0 plt.figure(pic) imshow_field(grid, "Elevation", values_at="node", grid_units=("m", "m")) plt.title("Elevation in m") # plt.savefig('Elevation_NS') pic += 1 plt.figure(pic) imshow_grid(grid, np.degrees(slope_burrough), values_at="cell", grid_units=("m", "m")) plt.title("Slope in degrees - Burrough 1998") # plt.savefig('Slope_burrough_NS') pic += 1 plt.figure(pic) imshow_grid(grid, np.degrees(aspect_burrough), values_at="cell", grid_units=("m", "m")) plt.title("Aspect in degrees - Burrough 1998") # plt.savefig('aspect_burrough_NS')