close_stream Subroutine

public subroutine close_stream(diag)

Flush + close the NetCDF file. Idempotent.

Arguments

Type IntentOptional Attributes Name
class(ocean_diag_t), intent(inout) :: diag

Calls

proc~~close_stream~~CallsGraph proc~close_stream close_stream proc~nc_close nc_close proc~close_stream->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~~close_stream~~CalledByGraph proc~close_stream close_stream proc~engine_teardown engine_teardown proc~engine_teardown->proc~close_stream proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_teardown proc~driver_validate driver_validate proc~driver_validate->proc~engine_teardown proc~rdb_ocean_destroy rdb_ocean_destroy proc~rdb_ocean_destroy->proc~engine_teardown proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean

Source Code

   subroutine close_stream(diag)
      !! Flush + close the NetCDF file.  Idempotent.
      class(ocean_diag_t), intent(inout) :: diag
      if (.not. diag%nc_stream%is_open) return
      call nc_close(diag%nc_stream%ncid)
      diag%nc_stream%is_open = .false.
      diag%nc_stream%ncid = -1
      if (allocated(diag%nc_stream%stage)) deallocate (diag%nc_stream%stage)
      nullify (diag%emit_post_fire)
   end subroutine close_stream