1 subroutine da_allocate_observations_rain (iv)
3 !---------------------------------------------------------------------------
4 ! Purpose: Allocate components of rain observation structure.
5 !---------------------------------------------------------------------------
9 type (iv_type), intent(inout) :: iv ! Observation structure.
13 if (trace_use) call da_trace_entry("da_allocate_observations_rain")
15 if (iv%info(rain)%nlocal > 0) allocate(iv%rain (1:iv%info(rain)%nlocal))
16 if (iv%info(rain)%nlocal > 0) then
17 allocate (iv%info(rain)%name(iv%info(rain)%nlocal))
18 allocate (iv%info(rain)%platform(iv%info(rain)%nlocal))
19 allocate (iv%info(rain)%id(iv%info(rain)%nlocal))
20 allocate (iv%info(rain)%date_char(iv%info(rain)%nlocal))
21 allocate (iv%info(rain)%levels(iv%info(rain)%nlocal))
22 allocate (iv%info(rain)%lat(iv%info(rain)%max_lev,iv%info(rain)%nlocal))
23 allocate (iv%info(rain)%lon(iv%info(rain)%max_lev,iv%info(rain)%nlocal))
24 allocate (iv%info(rain)%elv(iv%info(rain)%nlocal))
25 allocate (iv%info(rain)%pstar(iv%info(rain)%nlocal))
27 allocate (iv%info(rain)%slp(iv%info(rain)%nlocal))
28 allocate (iv%info(rain)%pw(iv%info(rain)%nlocal))
30 allocate (iv%info(rain)%x (kms:kme,iv%info(rain)%nlocal))
31 allocate (iv%info(rain)%y (kms:kme,iv%info(rain)%nlocal))
32 allocate (iv%info(rain)%i (kms:kme,iv%info(rain)%nlocal))
33 allocate (iv%info(rain)%j (kms:kme,iv%info(rain)%nlocal))
34 allocate (iv%info(rain)%dx (kms:kme,iv%info(rain)%nlocal))
35 allocate (iv%info(rain)%dxm(kms:kme,iv%info(rain)%nlocal))
36 allocate (iv%info(rain)%dy (kms:kme,iv%info(rain)%nlocal))
37 allocate (iv%info(rain)%dym(kms:kme,iv%info(rain)%nlocal))
38 allocate (iv%info(rain)%k (iv%info(rain)%max_lev,iv%info(rain)%nlocal))
39 allocate (iv%info(rain)%dz (iv%info(rain)%max_lev,iv%info(rain)%nlocal))
40 allocate (iv%info(rain)%dzm(iv%info(rain)%max_lev,iv%info(rain)%nlocal))
41 allocate (iv%info(rain)%zk (iv%info(rain)%max_lev,iv%info(rain)%nlocal))
42 allocate (iv%info(rain)%proc_domain(iv%info(rain)%max_lev,iv%info(rain)%nlocal))
43 allocate (iv%info(rain)%thinned(iv%info(rain)%max_lev,iv%info(rain)%nlocal))
44 allocate (iv%info(rain)%obs_global_index(iv%info(rain)%nlocal))
46 iv%info(rain)%proc_domain(:,:) = .false.
47 iv%info(rain)%thinned(:,:) = .false.
48 iv%info(rain)%zk(:,:) = missing_r
51 if (trace_use) call da_trace_exit("da_allocate_observations_rain")
53 end subroutine da_allocate_observations_rain