37 real(r_single) :: time
40 real(r_kind),
allocatable :: obs(:)
42 integer,
allocatable :: quality(:)
57 class(nwpbase) :: this
63 write(6,
'(a,3f10.3)')
'LIGHTNING OB: longitude, latitude, time =', &
64 this%lon, this%lat, this%time
71 write(6,
'(a4,10F12.2)')
'obs=', (this%obs(i),i=1,numvar)
73 write(6,
'(a4,10I12)')
'qul=', (this%quality(i),i=1,numvar)
75 write(6,*)
'No obs for this location' 91 class(nwpbase) :: this
93 integer,
intent(in) :: numvar
95 logical,
intent(in),
optional :: ifquality
100 if(
allocated(this%obs))
deallocate(this%obs)
101 allocate(this%obs(numvar))
103 this%ifquality=.false.
104 if(
present(ifquality)) this%ifquality = ifquality
105 if(this%ifquality)
allocate(this%quality(numvar))
108 write(6,*)
'alloc_obsbase Error: dimension must be larger than 0:', numvar
121 class(nwpbase) :: this
126 if(
allocated(this%obs))
deallocate(this%obs)
128 this%ifquality=.false.
129 if(
allocated(this%quality))
deallocate(this%quality)
subroutine destroy_obsbase(this)
This subroutine releases memory associated with nwp observations.
subroutine list_obsbase(this)
This subroutine lists the contents of a base nwp observation.
real(r_single), parameter, public rmissing
Fill value for single real missing data.
This module defines nwp observation data structure and the method to read and write observations from...
integer, parameter, public r_kind
generic specification kind for default floating point
integer, parameter, public r_single
specification kind for single precision (4-byte) real variable.
subroutine alloc_obsbase(this, numvar, ifquality)
This subroutine allocates memory for base nwp observation variables.
Module to hold specification kinds for variable declaration.