da_rttov.f90
References to this file elsewhere.
1 module da_rttov
2
3
4 !---------------------------------------------------------------------------
5 ! Purpose: module for radiance data assimilation.
6 !---------------------------------------------------------------------------
7
8 use da_define_structures, only : iv_type, y_type, x_type
9 use module_domain, only : domain
10 use da_reporting, only : da_error
11
12 #ifdef RTTOV
13 use module_radiance, only : satinfo, coefs_scatt_instname, &
14 time_slots, i_kind,r_kind, r_double, &
15 one, zero, three,deg2rad, n_scatt_coef,q2ppmv, gsi_emiss
16 use module_radiance, only : coefs,coefs_scatt,profile_type,radiance_type, &
17 rttov_coef,platform_name,inst_name,transmission_type, &
18 errorstatus_success,gas_id_watervapour,errorstatus_fatal
19
20 #ifdef DM_PARALLEL
21 use mpi, only : mpi_integer, mpi_status_size
22 #endif
23
24 use da_control, only : max_ob_levels,missing_r, &
25 v_interp_p, v_interp_h, tovs_batch, gravity, &
26 missing, max_error_uv, max_error_t, max_error_p,max_error_q, &
27 max_stheight_diff,missing_data,max_error_bq,max_error_slp, &
28 max_error_bt, max_error_buv, rtminit_platform,rtminit_satid, &
29 rtminit_nsensor,rtminit_sensor,filename_len,read_biascoef,analysis_date, &
30 time_window_max,time_window_min, kts,kte,kms,kme, &
31 rtm_option_rttov,rtm_option_crtm, gravity, &
32 print_detail_rad,stderr, mw_emis_sea, &
33 rtminit_print, rttov_scatt,comm,ierr,biasprep, qc_rad, &
34 num_fgat_time,stdout,trace_use, use_error_factor_rad, &
35 qc_good, qc_bad,myproc,biascorr, global,ims,ime,jms,jme
36 use da_interpolation, only : da_to_zk_new, &
37 da_interp_lin_2d, da_interp_lin_3d, da_interp_lin_3d_adj, da_interp_lin_2d_adj
38 use da_tools_serial, only : da_get_unit, da_free_unit
39 #ifdef DM_PARALLEL
40 use da_par_util, only : true_mpi_real
41 #endif
42 use da_radiance1, only : num_tovs_after,tovs_copy_count, &
43 tovs_send_pe, tovs_recv_pe, tovs_send_start, tovs_send_count, &
44 tovs_recv_start,con_vars_type,aux_vars_type, &
45 da_biascorr, da_detsurtyp,da_biasprep,da_get_time_slots, &
46 da_qc_rad, da_read_biascoef
47 use da_reporting, only : da_message, message, da_warning
48 use da_tools, only : da_convert_zk
49 use da_tracing, only : da_trace_entry, da_trace_exit, da_trace
50 use da_wrf_interfaces, only : wrf_dm_bcast_integer
51 use da_reporting, only : da_warning
52 #endif
53
54 implicit none
55
56 #ifdef RTTOV
57 #include "rttov_setupchan.interface"
58 #include "rttov_setupindex.interface"
59 #endif
60
61 contains
62
63 #include "da_get_innov_vector_rttov.inc"
64 #include "da_transform_xtoy_rttov.inc"
65 #include "da_transform_xtoy_rttov_adj.inc"
66
67 #include "da_rttov_init.inc"
68 #include "da_rttov_direct.inc"
69 #include "da_rttov_tl.inc"
70 #include "da_rttov_ad.inc"
71
72 end module da_rttov
73