Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_main / da_wrfvar_esmf_super.f90
blob0b0569c4115be008d4ba6886b89d49206e583ca8
1 module da_wrfvar_esmf_super
3 !-----------------------------------------------------------------------
4 ! Purpose: defines wrfvar_init(), wrfvar_run(), and wrfvar_finalize()
5 ! routines for use by ESMF superstructure.
6 ! WRFVAR can be built with either ESMF_Mod (from an installed ESMF library)
7 ! or with built-in wrf_esmf_mod. The choice is made at configure time
8 ! via cpp token WRF_ESMF_MOD.
9 ! Note that WRF_ESMF_MOD is used by module_domain.
10 !------------------------------------------------------------------------
12 ! use module_machine
13 ! use module_domain
14 ! use module_integrate
15 ! use module_driver_constants
16 ! use module_configure
18 ! use module_timing
20 #ifdef DM_PARALLEL
21 ! use module_dm
22 #endif
24 ! use da_wrfvar_io
26 ! use da_control
27 ! use da_define_structures
28 ! use da_setup_structures
29 ! use da_test
30 ! use da_minimisation
31 ! use da_wrf_interfaces
33 implicit none
35 real :: time
37 integer :: loop, levels_to_process
39 type (domain) , pointer :: keep_grid, grid_ptr, null_domain
40 type (grid_config_rec_type), save :: config_flags
41 integer :: number_at_same_level
42 integer :: time_step_begin_restart
44 integer :: domain_id , fid , oid , idum1 , idum2
46 #ifdef DM_PARALLEL
47 integer :: nbytes
48 integer, parameter :: configbuflen = 4* CONFIG_BUF_LEN
49 integer :: configbuf( configbuflen )
50 #endif
52 character (LEN=80) :: rstname
53 character (LEN=80) :: message
55 contains
57 #include "da_esmf_init.inc"
58 #include "da_esmf_run.inc"
59 #include "da_esmf_finalize.inc"
60 #include "da_wrfvar_interface.inc"
62 end module da_wrfvar_esmf_super