Пример #1
0
# 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()
Пример #4
0
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()
Пример #6
0
"""
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')