wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / da / da_transfer_model / da_transfer_model.f90
blobf0be4ef2b224c14b2d49ec916dcf651d4b4359a4
1 module da_transfer_model
3 !---------------------------------------------------------------------------
4 ! Purpose: Transfer model states between different models
5 !---------------------------------------------------------------------------
7 use module_configure, only : grid_config_rec_type
8 use module_domain, only : domain
9 use module_state_description, only : dyn_em_ad, dyn_em, p_qv,dyn_em_tl, &
10 p_qr, p_qi,p_qs,p_qg,p_qc,num_moist, p_a_qv, p_g_qv
11 use module_dm, only : wrf_dm_sum_real, wrf_dm_sum_reals
12 #ifdef DM_PARALLEL
13 use module_dm, only : local_communicator, &
14 ntasks_x, ntasks_y, data_order_xyz, mytask, &
15 ntasks, data_order_xy
16 use module_comm_dm, only : halo_xa_sub, halo_init_sub, halo_psichi_uv_adj_sub, &
17 halo_xb_sub, halo_xb_uv_sub, halo_em_c_sub
18 #endif
20 use da_control, only : cos_xls, sin_xls, cos_xle, sin_xle, trace_use, &
21 coarse_jy, coarse_ix, cone_factor, delt_lon, delt_lat, gas_constant, &
22 map_projection,earth_omega,mix,pi,phic,mkz,start_lon,start_lat, &
23 start_x,xlonc,start_y,mjy, global, rad_to_deg, deg_to_rad, earth_radius, &
24 var4d,analysis_date,coarse_ds,analysis_accu,dsm,pole, fg_format_kma_global, &
25 fg_format, fg_format_wrf_arw_regional, fg_format_wrf_nmm_regional, &
26 print_detail_map,stdout,truelat1_3dv, base_pres, fg_format_wrf_arw_global, &
27 truelat2_3dv, periodic_x,write_increments,max_ext_its, gravity, &
28 kappa, print_detail_xa,rd_over_rv,t0, print_detail_xa, check_rh, &
29 print_detail_xb,test_dm_exact,base_lapse,base_temp,vertical_ip,ptop, &
30 use_gpsztdobs, use_ssmitbobs, dt_cloud_model, cp, use_ssmiretrievalobs, &
31 vertical_ip_sqrt_delta_p, vertical_ip_delta_p,check_rh_simple, check_rh_tpw, &
32 t_kelvin, num_fgat_time, num_pseudo, iso_temp, &
33 ids,ide,jds,jde,kds,kde, ims,ime,jms,jme,kms,kme, &
34 its,ite,jts,jte,kts,kte, ips,ipe,jps,jpe,kps,kpe
35 use da_define_structures, only : xbx_type
36 use da_grid_definitions, only : da_set_map_para
37 use da_par_util, only : da_patch_to_global
38 use da_physics, only : da_check_rh_simple,da_roughness_from_lanu, &
39 da_sfc_wtq,da_tpq_to_rh,da_trh_to_td,da_wrf_tpq_2_slp,da_integrat_dz, &
40 da_tpq_to_rh, da_check_rh,da_transform_xtogpsref, da_transform_xtoztd
41 use da_reporting, only : da_error,message, da_message, da_warning
42 use da_setup_structures, only : da_setup_runconstants,da_write_increments, &
43 da_write_kma_increments,da_cloud_model, da_write_increments_for_wrf_nmm_regional
44 use da_ssmi, only : da_transform_xtotb
45 use da_tools, only : map_info, proj_merc, proj_ps,proj_lc,proj_latlon, &
46 da_llxy_default,da_llxy_wrf,da_xyll,da_diff_seconds,da_map_set, &
47 da_set_boundary_xb
48 use da_tracing, only : da_trace_entry, da_trace_exit, da_trace
49 use da_vtox_transforms, only : da_get_vpoles
50 use da_wrfvar_io, only : da_med_initialdata_output,da_med_initialdata_input
51 ! Do not use line below, because it shows that we are passing a scalar to
52 ! an array
53 ! use da_wrf_interfaces, only : wrf_dm_bcast_real
54 use da_wrf_interfaces, only : wrf_debug
56 implicit none
58 contains
60 #include "da_transfer_wrftoxb.inc"
61 #include "da_transfer_wrf_nmm_regional_toxb.inc"
62 #include "da_transfer_kmatoxb.inc"
63 #include "da_transfer_xatowrf.inc"
64 #include "da_transfer_xatowrf_nmm_regional.inc"
65 #include "da_transfer_xatokma.inc"
66 #include "da_transfer_wrftltoxa.inc"
67 #include "da_transfer_wrftltoxa_adj.inc"
68 #include "da_transfer_xatowrftl.inc"
69 #include "da_transfer_xatowrftl_adj.inc"
70 #include "da_transfer_xatoanalysis.inc"
71 #include "da_setup_firstguess.inc"
72 #include "da_setup_firstguess_wrf.inc"
73 #include "da_setup_firstguess_wrf_nmm_regional.inc"
74 #include "da_setup_firstguess_kma.inc"
76 end module da_transfer_model