Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
model_iterate.F90
Go to the documentation of this file.
2
3 use iso_c_binding, only : c_bool, c_float, c_int
7 use logfiles, only : logs, log_all
11! use summary_statistics, only : perform_polygon_summarize
12 use grid
13 implicit none
14
15 private
16
18
19contains
20
22
23 class(model_domain_t), intent(inout) :: cells
24
25
26
27 ! open and prepare NetCDF files for output
28 ! (this statement moved here so that files are opened and initialized
29 ! after all other routines have initialized; this was needed in order to
30 ! make the multiple simulation outputs work)
31 call initialize_output( cells )
32
33 do while ( sim_dt%curr <= sim_dt%end )
34
35 call logs%write("Calculating: "//sim_dt%curr%prettydate(), iloglevel=log_all, lecho=.true._c_bool )
36 call cells%update_landuse_codes()
37 call cells%update_irrigation_mask()
38
39 call cells%get_weather_data( )
40 call perform_daily_calculation( cells )
41 call write_output( cells )
42! call perform_polygon_summarize( cells )
43
44 call cells%dump_variables( )
45
46 call sim_dt%addDay( )
47
48 enddo
49
50 call finalize_output( cells )
51
52 end subroutine iterate_over_simulation_days
53
54end module model_iterate
This module contains physical constants and convenience functions aimed at performing unit conversion...
logical(c_bool), parameter, public true
subroutine, public perform_daily_calculation(cells)
Provides support for input and output of gridded ASCII data, as well as for creation and destruction ...
Definition grid.F90:8
type(logfile_t), public logs
Definition logfiles.F90:62
subroutine, public iterate_over_simulation_days(cells)
subroutine write_output(cells)
Definition output.F90:360
subroutine initialize_output(cells)
Definition output.F90:117
subroutine finalize_output(cells)
Definition output.F90:293
type(date_range_t), public sim_dt