Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
et__gridded_values.F90
Go to the documentation of this file.
1!> @file
2!> Contains a single module, et_gridded_values, which
3!> populates the reference et by applying the monthly value obtained from a reference grid.
4
5
6!> Populate potential evapotranspiration by substituting in
7!> the daily average ET from a gridded data source.
8
10
11 use iso_c_binding, only : c_short, c_int, c_float, c_double
13 use data_catalog
15 use exceptions
17 use fstring
18 use fstring_list
19
20 implicit none
21
22 private
23
25
26 type (data_catalog_entry_t), pointer :: pet_grid
27
28contains
29
30 subroutine et_gridded_values_initialize( lActive )
31
32 logical (c_bool), intent(in) :: lactive(:,:)
33
34 ! [ LOCALS ]
35
36
37 ! locate the data structure associated with the gridded rainfall zone entries
38 pet_grid => dat%find("POTENTIAL_ET")
39 if ( .not. associated(pet_grid) ) then
40 pet_grid => dat%find("REFERENCE_ET0")
41 if (.not. associated(pet_grid) ) &
42 call die("A POTENTIAL_ET or REFERENCE_ET0 grid must be supplied in order to make" &
43 //" use of this option.", __file__, __line__)
44
45 endif
46
47 end subroutine et_gridded_values_initialize
48
49!--------------------------------------------------------------------------------------------------
50
52
53 associate( dt => sim_dt%curr )
54
55 call pet_grid%getvalues( dt )
56
57 end associate
58
59 end subroutine et_gridded_values_calculate
60
61end module et__gridded_values
This module contains physical constants and convenience functions aimed at performing unit conversion...
Defines the DATA_CATALOG_T data type, which contains type-bound procedures to add,...
type(data_catalog_t), public dat
DAT is a global to hold data catalog entries.
Populate potential evapotranspiration by substituting in the daily average ET from a gridded data sou...
subroutine, public et_gridded_values_calculate()
type(data_catalog_entry_t), pointer, public pet_grid
subroutine, public et_gridded_values_initialize(lactive)
subroutine, public die(smessage, smodule, iline, shints, scalledby, icalledbyline)
type(date_range_t), public sim_dt