ocean_state_fill_restart_metadata Subroutine

private subroutine ocean_state_fill_restart_metadata(state, grid, meta)

Build the grid/vcoord/tracer fingerprint validated on resume (review #7).

Arguments

Type IntentOptional Attributes Name
type(ocean_state_t), intent(in) :: state
type(hgrid_t), intent(in) :: grid
type(ocean_restart_metadata_t), intent(out) :: meta

Calls

proc~~ocean_state_fill_restart_metadata~~CallsGraph proc~ocean_state_fill_restart_metadata ocean_state_fill_restart_metadata proc~vcoord_type_name vcoord_type_name proc~ocean_state_fill_restart_metadata->proc~vcoord_type_name to_string to_string proc~vcoord_type_name->to_string

Called by

proc~~ocean_state_fill_restart_metadata~~CalledByGraph proc~ocean_state_fill_restart_metadata ocean_state_fill_restart_metadata proc~ocean_state_restart_read ocean_state_restart_read proc~ocean_state_restart_read->proc~ocean_state_fill_restart_metadata proc~ocean_state_restart_write ocean_state_restart_write proc~ocean_state_restart_write->proc~ocean_state_fill_restart_metadata proc~ocean_state_restart_write_drop_field ocean_state_restart_write_drop_field proc~ocean_state_restart_write_drop_field->proc~ocean_state_fill_restart_metadata proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~ocean_state_restart_write proc~engine_setup engine_setup proc~driver_run_ocean->proc~engine_setup proc~engine_setup->proc~ocean_state_restart_read proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Source Code

   subroutine ocean_state_fill_restart_metadata(state, grid, meta)
      !! Build the grid/vcoord/tracer fingerprint validated on resume
      !! (review #7).
      type(ocean_state_t), intent(in) :: state
      type(hgrid_t), intent(in) :: grid
      type(ocean_restart_metadata_t), intent(out) :: meta
      meta%nz_ml = state%multilayer%nz_ml
      meta%nghost = grid%nghost
      meta%vcoord_type = state%vcoord%coord_type
      meta%vcoord_name = vcoord_type_name(state%vcoord%coord_type)
      meta%idx_salinity = state%multilayer%idx_salinity
      meta%idx_temperature = state%multilayer%idx_temperature
      if (allocated(state%multilayer%tracers)) then
         meta%n_tracers = size(state%multilayer%tracers)
      else
         meta%n_tracers = 0
      end if
   end subroutine ocean_state_fill_restart_metadata