1 subroutine da_allocate_observations (iv)
3 !---------------------------------------------------------------------------
4 ! Purpose: Allocate components of observation structure.
5 !---------------------------------------------------------------------------
9 type (iv_type), intent(inout) :: iv ! Observation structure.
13 if (trace_use) call da_trace_entry("da_allocate_observations")
15 if (iv%info(sound)%nlocal > 0) allocate(iv%sound (1:iv%info(sound)%nlocal))
16 if (iv%info(sonde_sfc)%nlocal > 0) allocate(iv%sonde_sfc(1:iv%info(sonde_sfc)%nlocal))
17 if (iv%info(mtgirs)%nlocal > 0) allocate(iv%mtgirs (1:iv%info(mtgirs)%nlocal))
18 if (iv%info(tamdar)%nlocal > 0) allocate(iv%tamdar (1:iv%info(tamdar)%nlocal))
19 if (iv%info(tamdar_sfc)%nlocal > 0) allocate(iv%tamdar_sfc (1:iv%info(tamdar_sfc)%nlocal))
20 if (iv%info(synop)%nlocal > 0) allocate(iv%synop (1:iv%info(synop)%nlocal))
21 if (iv%info(airep)%nlocal > 0) allocate(iv%airep (1:iv%info(airep)%nlocal))
22 if (iv%info(geoamv)%nlocal > 0) allocate(iv%geoamv (1:iv%info(geoamv)%nlocal))
23 if (iv%info(polaramv)%nlocal > 0) allocate(iv%polaramv (1:iv%info(polaramv)%nlocal))
24 if (iv%info(satem)%nlocal > 0) allocate(iv%satem (1:iv%info(satem)%nlocal))
25 if (iv%info(metar)%nlocal > 0) allocate(iv%metar (1:iv%info(metar)%nlocal))
26 if (iv%info(ships)%nlocal > 0) allocate(iv%ships (1:iv%info(ships)%nlocal))
27 if (iv%info(pilot)%nlocal > 0) allocate(iv%pilot (1:iv%info(pilot)%nlocal))
28 if (iv%info(gpspw)%nlocal > 0) allocate(iv%gpspw (1:iv%info(gpspw)%nlocal))
29 if (iv%info(gpsref)%nlocal > 0) allocate(iv%gpsref (1:iv%info(gpsref)%nlocal))
30 if (iv%info(gpseph)%nlocal > 0) allocate(iv%gpseph (1:iv%info(gpseph)%nlocal))
31 if (iv%info(ssmi_tb)%nlocal > 0) allocate(iv%ssmi_tb (1:iv%info(ssmi_tb)%nlocal))
32 if (iv%info(ssmi_rv)%nlocal > 0) allocate(iv%ssmi_rv (1:iv%info(ssmi_rv)%nlocal))
33 if (iv%info(ssmt1)%nlocal > 0) allocate(iv%ssmt1 (1:iv%info(ssmt1)%nlocal))
34 if (iv%info(ssmt2)%nlocal > 0) allocate(iv%ssmt2 (1:iv%info(ssmt2)%nlocal))
35 if (iv%info(qscat)%nlocal > 0) allocate(iv%qscat (1:iv%info(qscat)%nlocal))
36 if (iv%info(profiler)%nlocal > 0) allocate(iv%profiler (1:iv%info(profiler)%nlocal))
37 if (iv%info(buoy)%nlocal > 0) allocate(iv%buoy (1:iv%info(buoy)%nlocal))
38 if (iv%info(radar)%nlocal > 0) allocate(iv%radar (1:iv%info(radar)%nlocal))
39 if (iv%info(lightning)%nlocal > 0) allocate(iv%lightning(1:iv%info(lightning)%nlocal))
40 if (iv%info(bogus)%nlocal > 0) allocate(iv%bogus (1:iv%info(bogus)%nlocal))
41 if (iv%info(airsr)%nlocal > 0) allocate(iv%airsr (1:iv%info(airsr)%nlocal))
43 call da_allocate_obs_info (iv)
45 if (trace_use) call da_trace_exit("da_allocate_observations")
47 end subroutine da_allocate_observations