コード例 #1
0
ファイル: Veg_CA_Eco_short.py プロジェクト: Fooway/landlab
# component. Seedlings of shrubs and trees are determined by their age
# within the constructor as well. Hence the random vegetation type
# field is called for types GRASS, SHRUB, TREE and BARE only. -SN 10Mar15

grid['cell']['VegetationType'] = np.arange(0, 6)

# Create radiation, soil moisture and Vegetation objects
PD_D = PrecipitationDistribution(mean_storm = data['mean_storm_dry'],  \
                    mean_interstorm = data['mean_interstorm_dry'],
                    mean_storm_depth = data['mean_storm_depth_dry'])
PD_W = PrecipitationDistribution(mean_storm = data['mean_storm_wet'],  \
                    mean_interstorm = data['mean_interstorm_wet'],
                    mean_storm_depth = data['mean_storm_depth_wet'])
Rad = Radiation(grid)
PET_Tree = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_tree'],
                    DeltaD = data['DeltaD'] )
PET_Shrub = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_shrub'],
                    DeltaD = data['DeltaD'] )
PET_Grass = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_grass'],
                    DeltaD = data['DeltaD'] )

SM = SoilMoisture(grid, data)  # Soil Moisture object
VEG = Vegetation(grid, data)  # Vegetation object
vegca = VegCA(grid1, data)  # Cellular automaton object

##########
n = data['n_short']  # Defining number of storms the model will be run
##########
コード例 #2
0
## Create input dictionary from text file
InputFile = 'Inputs_Vegetation_CA.txt'
data = txt_data_dict( InputFile ) # Create dictionary that holds the inputs

# Create rainfall, radiation, potential evapotranspiration,
# soil moisture and Vegetation objects
# Assign parameters to the components
PD_D = PrecipitationDistribution(mean_storm = data['mean_storm_dry'],  \
                    mean_interstorm = data['mean_interstorm_dry'],
                    mean_storm_depth = data['mean_storm_depth_dry'])
PD_W = PrecipitationDistribution(mean_storm = data['mean_storm_wet'],  \
                    mean_interstorm = data['mean_interstorm_wet'],
                    mean_storm_depth = data['mean_storm_depth_wet'])
Rad = Radiation( grid )
PET_Tree = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_tree'],
                    DeltaD = data['DeltaD'] )
PET_Shrub = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_shrub'],
                    DeltaD = data['DeltaD'] )
PET_Grass = PotentialEvapotranspiration( grid1, method = data['PET_method'], \
                    MeanTmaxF = data['MeanTmaxF_grass'],
                    DeltaD = data['DeltaD'] )

SM = SoilMoisture( grid, data )   # Soil Moisture object
VEG = Vegetation( grid, data )    # Vegetation object
vegca = VegCA( grid1, data )      # Cellular automaton object

##########
n = 6600    # Defining number of storms the model will be run
##########
コード例 #3
0
# Sai Nudurupati and Erkan Istanbulluoglu- 16May2014 :
# Example to use potential_evapotranspiration_field.py

#import landlab
from landlab import RasterModelGrid
from landlab.components.radiation import Radiation
from landlab.components.pet import PotentialEvapotranspiration
import numpy as np
import matplotlib.pyplot as plt
from landlab.plot.imshow import imshow_grid

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_grid(grid,'RadiationFactor', values_at = 'cell',
            grid_units = ('m','m'))

plt.figure(1)
imshow_grid(grid,'PotentialEvapotranspiration', values_at = 'cell',
            grid_units = ('m','m'))
plt.savefig('PET_test')
plt.show()