ocean_data_input_destroy Subroutine

private subroutine ocean_data_input_destroy(this)

Type Bound

ocean_data_input_t

Arguments

Type IntentOptional Attributes Name
class(ocean_data_input_t), intent(inout) :: this

Calls

proc~~ocean_data_input_destroy~~CallsGraph proc~ocean_data_input_destroy ocean_data_input_t%ocean_data_input_destroy proc~data_input_workspace_cleanup data_input_workspace_cleanup proc~ocean_data_input_destroy->proc~data_input_workspace_cleanup proc~nc_close nc_close proc~ocean_data_input_destroy->proc~nc_close nf90_close nf90_close proc~nc_close->nf90_close proc~nc_check nc_check proc~nc_close->proc~nc_check nf90_strerror nf90_strerror proc~nc_check->nf90_strerror proc~fail fail proc~nc_check->proc~fail error error proc~fail->error proc~error_ring_push error_ring_push proc~fail->proc~error_ring_push

Called by

proc~~ocean_data_input_destroy~~CalledByGraph proc~ocean_data_input_destroy ocean_data_input_t%ocean_data_input_destroy proc~ocean_data_input_init ocean_data_input_t%ocean_data_input_init proc~ocean_data_input_init->proc~ocean_data_input_destroy proc~ocean_data_input_load_static_2d ocean_data_input_load_static_2d proc~ocean_data_input_load_static_2d->proc~ocean_data_input_destroy proc~ocean_data_input_load_static_2d->proc~ocean_data_input_init proc~seed_cavity_draft seed_cavity_draft proc~seed_cavity_draft->proc~ocean_data_input_load_static_2d proc~ocean_state_seed_from_cfg ocean_state_seed_from_cfg proc~ocean_state_seed_from_cfg->proc~seed_cavity_draft proc~engine_setup engine_setup proc~engine_setup->proc~ocean_state_seed_from_cfg proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup

Variables

Type Visibility Attributes Name Initial
integer, private :: i

Source Code

   subroutine ocean_data_input_destroy(this)
      class(ocean_data_input_t), intent(inout) :: this
      integer :: i
      if (allocated(this%fields)) then
         do i = 1, this%nfields
            if (this%fields(i)%ncid >= 0) call nc_close(this%fields(i)%ncid)
         end do
         deallocate (this%fields)
      end if
      this%nfields = 0
      this%nfields_max = 0
      this%is_init = .false.
      call data_input_workspace_cleanup()
   end subroutine ocean_data_input_destroy