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 type (general_grid_t), pointer :: ptempgrid
26
27
28 ! open and prepare NetCDF files for output
29 ! (this statement moved here so that files are opened and initialized
30 ! after all other routines have initialized; this was needed in order to
31 ! make the multiple simulation outputs work)
32 call initialize_output( cells )
33
34 do while ( sim_dt%curr <= sim_dt%end )
35
36 call logs%write("Calculating: "//sim_dt%curr%prettydate(), iloglevel=log_all, lecho=.true._c_bool )
37 call cells%update_landuse_codes()
38 call cells%update_irrigation_mask()
39
40 call cells%get_weather_data( )
41 call perform_daily_calculation( cells )
42 call write_output( cells )
43! call perform_polygon_summarize( cells )
44
45 call cells%dump_variables( )
46
47 call sim_dt%addDay( )
48
49 enddo
50
51 call finalize_output( cells )
52
53 end subroutine iterate_over_simulation_days
54
55end 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:364
subroutine initialize_output(cells)
Definition output.F90:120
subroutine finalize_output(cells)
Definition output.F90:296
type(date_range_t), public sim_dt