|
15 | 15 | module module_nwp
|
16 | 16 |
|
17 | 17 | use kinds, only: r_kind, r_single, i_short, rmissing
|
18 |
| - use module_nwp_base, only: nwpbase |
19 | 18 | ! use module_map_utils, only: map_util
|
20 | 19 | use module_ncio, only: ncio
|
21 | 20 |
|
22 | 21 | implicit none
|
23 | 22 |
|
24 | 23 | public :: fcst_nwp
|
25 |
| - public :: nwp_type |
26 | 24 |
|
27 | 25 | private
|
28 |
| - type :: nwp_type |
| 26 | + type :: fcst_nwp |
29 | 27 | character(len=6) :: datatype !< Data type.
|
30 | 28 | integer :: numvar !< Number of variabls.
|
31 | 29 | integer :: xlat !< Number of latitudes.
|
@@ -66,15 +64,6 @@ module module_nwp
|
66 | 64 | real(r_kind), allocatable :: nwp_zorl_w(:,:) !< warm start surface roughness
|
67 | 65 | real(r_kind), allocatable :: nwp_hice_w(:,:) !< warm start ice thickness
|
68 | 66 |
|
69 |
| - end type nwp_type |
70 |
| - |
71 |
| - type, extends(nwp_type) :: fcst_nwp |
72 |
| - ! The pointers are carryover from when I inherited the code from |
73 |
| - ! GSL's work with HRRR for a similar use. I am not sure with |
74 |
| - ! object based coding in Fortran if it needs to have parts |
75 |
| - ! initialized to gain access to the procedures within it. - D. Wright. |
76 |
| - type(nwpbase), pointer :: head => NULL() !< Pointer to head of list. |
77 |
| - type(nwpbase), pointer :: tail => NULL() !< Pointer to tail of list. |
78 | 67 | contains
|
79 | 68 | procedure :: initial => initial_nwp !< Defines vars and names. @return
|
80 | 69 | procedure :: list_initial => list_initial_nwp !< List the setup. @return
|
@@ -212,9 +201,6 @@ subroutine initial_nwp(this,itype,wcstart)
|
212 | 201 | stop 1234
|
213 | 202 | end if
|
214 | 203 |
|
215 |
| - this%head => NULL() |
216 |
| - this%tail => NULL() |
217 |
| - |
218 | 204 | write(6,*) 'Finished initial_nwp'
|
219 | 205 | write(6,*) ' '
|
220 | 206 |
|
@@ -442,8 +428,6 @@ subroutine finish_nwp(this,itype,wcstart)
|
442 | 428 | character(len=6), intent(in) :: itype
|
443 | 429 | character(len=4), intent(in) :: wcstart
|
444 | 430 |
|
445 |
| - type(nwpbase), pointer :: thisobs,thisobsnext |
446 |
| - |
447 | 431 | deallocate(this%varnames)
|
448 | 432 | deallocate(this%latname)
|
449 | 433 | deallocate(this%lonname)
|
@@ -472,18 +456,6 @@ subroutine finish_nwp(this,itype,wcstart)
|
472 | 456 | write(6,*) 'no deallocation'
|
473 | 457 | end if
|
474 | 458 |
|
475 |
| - thisobs => this%head |
476 |
| - if(.NOT.associated(thisobs)) then |
477 |
| - write(6,*) 'No memory to release' |
478 |
| - return |
479 |
| - endif |
480 |
| - do while(associated(thisobs)) |
481 |
| - |
482 |
| - thisobsnext => thisobs%next |
483 |
| - call thisobs%destroy() |
484 |
| - thisobs => thisobsnext |
485 |
| - enddo |
486 |
| - |
487 | 459 | write(6,*) 'Finished finish_nwp'
|
488 | 460 | write(6,*) ' '
|
489 | 461 |
|
|
0 commit comments