Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
model_initialize Module Reference

Data Types

type  gridded_datasets_t
type  methods_list_t

Functions/Subroutines

subroutine, public initialize_all (output_prefix, output_dirname, data_dirname, lookup_table_dirname, weather_data_dirname)
subroutine initialize_soils_landuse_awc_flowdir_values ()
 Initialize soils, landuse, and available water content values.
subroutine initialize_ancillary_values ()
subroutine set_lookup_table_directory (lookup_table_dirname)
subroutine set_data_directory (data_dirname)
subroutine set_weather_data_directory (weather_data_dirname)
subroutine initialize_snow_storage ()
subroutine initialize_soil_storage ()
subroutine initialize_percent_pervious ()
subroutine initialize_percent_canopy_cover
subroutine initialize_hydrologic_soil_groups
subroutine read_hydrologic_soil_groups
subroutine read_polygon_id ()
subroutine, public write_control_file (sfilename, sgridspecification, slextradirectives)
subroutine, public read_control_file (sfilename)
subroutine initialize_generic_grid (skey, spathname, loptional, idatatype)
 Generic routine to handle intake of gridded data.
subroutine initialize_grid_options ()
subroutine initialize_output_options ()
subroutine initialize_start_and_end_dates ()
subroutine initialize_lookup_tables ()
 Find any parameter tables specified in the control file; process and store contents.
subroutine initialize_generic_method (skey, loptional)
subroutine initialize_program_options ()
subroutine initialize_latitude ()
subroutine initialize_surface_storage_max ()

Variables

integer(c_int), parameter number_of_known_grids = 46
integer(c_int), parameter number_of_known_methods = 18
type(gridded_datasets_t), dimension(number_of_known_gridsknown_grids = [ GRIDDED_DATASETS_T("PRECIPITATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("TMIN ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("TMAX ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("AVAILABLE_WATER_CONTENT ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("REFERENCE_ET0 ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("POTENTIAL_ET ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ACTUAL_ET ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("SOLAR_RADIATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WIND_SPEED ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RAINFALL_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("REFERENCE_ET_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("POTENTIAL_ET_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("FLOW_DIRECTION ", "", TRUE, DATATYPE_INT), GRIDDED_DATASETS_T("FOG_RATIO ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("LAND_USE ", "", FALSE, DATATYPE_INT ), GRIDDED_DATASETS_T("SOILS_CODE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("HYDROLOGIC_SOILS_GROUP ", "", FALSE, DATATYPE_INT ), GRIDDED_DATASETS_T("INITIAL_PERCENT_SOIL_MOISTURE ", "", FALSE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("INITIAL_SNOW_COVER_STORAGE ", "", TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("INITIAL_CONTINUOUS_FROZEN_GROUND_INDEX", "", TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("CFGI_LOWER_LIMIT ", "" ,TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("CFGI_UPPER_LIMIT ", "" ,TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("PERCENT_CANOPY_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PERCENT_PERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PERCENT_IMPERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_CANOPY_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_PERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_IMPERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("STEMFLOW_FRACTION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("EVAPORATION_TO_RAINFALL_RATIO ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RAINFALL_ADJUST_FACTOR ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("CESSPOOL_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("STORM_DRAIN_CAPTURE_FRACTION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WATER_BODY_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WATER_MAIN_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("DISPOSAL_WELL_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ANNUAL_DIRECT_NET_INFILTRATION_RATE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ANNUAL_SEPTIC_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("SEPTIC_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RUNOFF_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("POLYGON_ID ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("SOIL_STORAGE_MAX ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PLANT_AVAILABLE_WATER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("MAXIMUM_NET_INFILTRATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("IRRIGATION_MASK ", "", TRUE, DATATYPE_INT), GRIDDED_DATASETS_T("RELATIVE_HUMIDITY ", "", TRUE, DATATYPE_FLOAT ) ]
type(methods_list_t), dimension(number_of_known_methods), parameter known_methods = [ METHODS_LIST_T("INTERCEPTION ", FALSE), METHODS_LIST_T("EVAPOTRANSPIRATION ", FALSE), METHODS_LIST_T("RUNOFF ", FALSE), METHODS_LIST_T("PRECIPITATION ", FALSE), METHODS_LIST_T("FOG ", TRUE), METHODS_LIST_T("AVAILABLE_WATER_CONTENT", TRUE), METHODS_LIST_T("SOIL_STORAGE_MAX ", TRUE), METHODS_LIST_T("SOIL_MOISTURE ", FALSE), METHODS_LIST_T("IRRIGATION ", TRUE), METHODS_LIST_T("CROP_COEFFICIENT ", TRUE), METHODS_LIST_T("GROWING_DEGREE_DAY ", TRUE), METHODS_LIST_T("DYNAMIC_LANDUSE ", TRUE), METHODS_LIST_T("DIRECT_RECHARGE ", TRUE), METHODS_LIST_T("DIRECT_NET_INFILTRATION", TRUE), METHODS_LIST_T("DIRECT_SOIL_MOISTURE ", TRUE), METHODS_LIST_T("FLOW_ROUTING ", TRUE), METHODS_LIST_T("ROOTING_DEPTH ", TRUE), METHODS_LIST_T("DUMP_VARIABLES ", TRUE) ]
type(general_grid_t), pointer pcoord_grd

Function/Subroutine Documentation

◆ initialize_all()

subroutine, public model_initialize::initialize_all ( character (len=*), intent(in) output_prefix,
character (len=*), intent(in) output_dirname,
character (len=*), intent(in) data_dirname,
character (len=*), intent(in) lookup_table_dirname,
character (len=*), intent(in) weather_data_dirname )

Definition at line 125 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_ancillary_values()

subroutine model_initialize::initialize_ancillary_values
private

Definition at line 286 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_generic_grid()

subroutine model_initialize::initialize_generic_grid ( character (len=*), intent(in) skey,
character (len=*), intent(in) spathname,
logical (c_bool), intent(in) loptional,
integer (c_int), intent(in) idatatype )
private

Generic routine to handle intake of gridded data.

Parameters
[in]sKeyName for the data type being processed.
[in]lOptionalIf lOptional is TRUE, kill model run eventually IF sKey does not match a known data type.
[in]iDataTypeDatatype as defined in constants_and-conversion.F90

This routine accepts a data grid type, for example, "PRECIPITATION", and attempts to handle all related control file directives associated with MODEL data type. In MODEL way, a new gridded data type may be added simply by extending the list of known data types to the list defined in the module variable KNOWN_TYPES.

Definition at line 969 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_generic_method()

subroutine model_initialize::initialize_generic_method ( character (len=*), intent(in) skey,
logical (c_bool), intent(in) loptional )
private

Definition at line 1683 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_grid_options()

subroutine model_initialize::initialize_grid_options
private

Definition at line 1335 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_hydrologic_soil_groups()

subroutine model_initialize::initialize_hydrologic_soil_groups
private

Definition at line 615 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_latitude()

subroutine model_initialize::initialize_latitude
private

Definition at line 1836 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_lookup_tables()

subroutine model_initialize::initialize_lookup_tables
private

Find any parameter tables specified in the control file; process and store contents.

Any control file entry that contains the text "LOOKUP_TABLE" is assumed to specify a parameter table that needs to be read in and processed.

Note
The entries given in the files are implicitly assumed to be in sorted order. For example, if the parameters pertain to landuse codes, it is assumed that all table values are given in order from lowest to highest landuse code.

Definition at line 1600 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_output_options()

subroutine model_initialize::initialize_output_options
private

Definition at line 1421 of file model_initialize.F90.

◆ initialize_percent_canopy_cover()

subroutine model_initialize::initialize_percent_canopy_cover
private

Definition at line 549 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_percent_pervious()

subroutine model_initialize::initialize_percent_pervious
private

Definition at line 462 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_program_options()

subroutine model_initialize::initialize_program_options
private

Definition at line 1761 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_snow_storage()

subroutine model_initialize::initialize_snow_storage
private

Definition at line 376 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_soil_storage()

subroutine model_initialize::initialize_soil_storage
private

Definition at line 421 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_soils_landuse_awc_flowdir_values()

subroutine model_initialize::initialize_soils_landuse_awc_flowdir_values
private

Initialize soils, landuse, and available water content values.

@NOTE Rather than read the raw values and initialize the SWB variables in one step, we have two steps:

  1. read raw;
  2. initialize SWB variables.

Two steps are needed because the call to "set_inactive_cells" requires access to the "raw" values, not the SWB variables. Basically any cell with negative values found in the landuse, soils groups, or awc grids results in that cell being inactivated. Once the complete collection of active cells is found, the SWB variables can be initialized.

Definition at line 239 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_start_and_end_dates()

subroutine model_initialize::initialize_start_and_end_dates
private

Definition at line 1495 of file model_initialize.F90.

Here is the call graph for this function:

◆ initialize_surface_storage_max()

subroutine model_initialize::initialize_surface_storage_max
private

Determine how many landuse codes are present

Definition at line 1970 of file model_initialize.F90.

◆ read_control_file()

subroutine, public model_initialize::read_control_file ( character (len=*), intent(in) sfilename)

Definition at line 878 of file model_initialize.F90.

◆ read_hydrologic_soil_groups()

subroutine model_initialize::read_hydrologic_soil_groups
private

Definition at line 654 of file model_initialize.F90.

Here is the call graph for this function:

◆ read_polygon_id()

subroutine model_initialize::read_polygon_id
private

Definition at line 679 of file model_initialize.F90.

Here is the call graph for this function:

◆ set_data_directory()

subroutine model_initialize::set_data_directory ( character(len=*), intent(in) data_dirname)
private

Definition at line 321 of file model_initialize.F90.

◆ set_lookup_table_directory()

subroutine model_initialize::set_lookup_table_directory ( character(len=*), intent(in) lookup_table_dirname)
private

Definition at line 310 of file model_initialize.F90.

◆ set_weather_data_directory()

subroutine model_initialize::set_weather_data_directory ( character(len=*), intent(in) weather_data_dirname)
private

Definition at line 352 of file model_initialize.F90.

◆ write_control_file()

subroutine, public model_initialize::write_control_file ( character (len=*), intent(in) sfilename,
character (len=*), intent(in), optional sgridspecification,
type (fstring_list_t), optional slextradirectives )

Definition at line 819 of file model_initialize.F90.

Variable Documentation

◆ known_grids

type (gridded_datasets_t), dimension( number_of_known_grids ) model_initialize::known_grids = [ GRIDDED_DATASETS_T("PRECIPITATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("TMIN ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("TMAX ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("AVAILABLE_WATER_CONTENT ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("REFERENCE_ET0 ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("POTENTIAL_ET ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ACTUAL_ET ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("SOLAR_RADIATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WIND_SPEED ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RAINFALL_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("REFERENCE_ET_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("POTENTIAL_ET_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("FLOW_DIRECTION ", "", TRUE, DATATYPE_INT), GRIDDED_DATASETS_T("FOG_RATIO ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("LAND_USE ", "", FALSE, DATATYPE_INT ), GRIDDED_DATASETS_T("SOILS_CODE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("HYDROLOGIC_SOILS_GROUP ", "", FALSE, DATATYPE_INT ), GRIDDED_DATASETS_T("INITIAL_PERCENT_SOIL_MOISTURE ", "", FALSE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("INITIAL_SNOW_COVER_STORAGE ", "", TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("INITIAL_CONTINUOUS_FROZEN_GROUND_INDEX", "", TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("CFGI_LOWER_LIMIT ", "" ,TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("CFGI_UPPER_LIMIT ", "" ,TRUE, DATATYPE_FLOAT), GRIDDED_DATASETS_T("PERCENT_CANOPY_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PERCENT_PERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PERCENT_IMPERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_CANOPY_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_PERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("FRACTION_IMPERVIOUS_COVER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("STEMFLOW_FRACTION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("EVAPORATION_TO_RAINFALL_RATIO ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RAINFALL_ADJUST_FACTOR ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("CESSPOOL_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("STORM_DRAIN_CAPTURE_FRACTION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WATER_BODY_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("WATER_MAIN_LEAKAGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("DISPOSAL_WELL_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ANNUAL_DIRECT_NET_INFILTRATION_RATE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("ANNUAL_SEPTIC_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("SEPTIC_DISCHARGE ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("RUNOFF_ZONE ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("POLYGON_ID ", "", TRUE, DATATYPE_INT ), GRIDDED_DATASETS_T("SOIL_STORAGE_MAX ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("PLANT_AVAILABLE_WATER ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("MAXIMUM_NET_INFILTRATION ", "", TRUE, DATATYPE_FLOAT ), GRIDDED_DATASETS_T("IRRIGATION_MASK ", "", TRUE, DATATYPE_INT), GRIDDED_DATASETS_T("RELATIVE_HUMIDITY ", "", TRUE, DATATYPE_FLOAT ) ]
private

Definition at line 50 of file model_initialize.F90.

◆ known_methods

type (methods_list_t), dimension( number_of_known_methods ), parameter model_initialize::known_methods = [ METHODS_LIST_T("INTERCEPTION ", FALSE), METHODS_LIST_T("EVAPOTRANSPIRATION ", FALSE), METHODS_LIST_T("RUNOFF ", FALSE), METHODS_LIST_T("PRECIPITATION ", FALSE), METHODS_LIST_T("FOG ", TRUE), METHODS_LIST_T("AVAILABLE_WATER_CONTENT", TRUE), METHODS_LIST_T("SOIL_STORAGE_MAX ", TRUE), METHODS_LIST_T("SOIL_MOISTURE ", FALSE), METHODS_LIST_T("IRRIGATION ", TRUE), METHODS_LIST_T("CROP_COEFFICIENT ", TRUE), METHODS_LIST_T("GROWING_DEGREE_DAY ", TRUE), METHODS_LIST_T("DYNAMIC_LANDUSE ", TRUE), METHODS_LIST_T("DIRECT_RECHARGE ", TRUE), METHODS_LIST_T("DIRECT_NET_INFILTRATION", TRUE), METHODS_LIST_T("DIRECT_SOIL_MOISTURE ", TRUE), METHODS_LIST_T("FLOW_ROUTING ", TRUE), METHODS_LIST_T("ROOTING_DEPTH ", TRUE), METHODS_LIST_T("DUMP_VARIABLES ", TRUE) ]
private

Definition at line 99 of file model_initialize.F90.

◆ number_of_known_grids

integer (c_int), parameter model_initialize::number_of_known_grids = 46

Definition at line 47 of file model_initialize.F90.

◆ number_of_known_methods

integer (c_int), parameter model_initialize::number_of_known_methods = 18
private

Definition at line 48 of file model_initialize.F90.

◆ pcoord_grd

type (general_grid_t), pointer model_initialize::pcoord_grd
private

Definition at line 121 of file model_initialize.F90.