resolve_time_var Subroutine

private subroutine resolve_time_var(ncid, tdimid, tvarid, status)

Look up the time coordinate variable by the CF convention (dim name == var name); fall back to a variable literally named “time”. status is nf90_noerr iff found.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ncid
integer, intent(in) :: tdimid
integer, intent(out) :: tvarid
integer, intent(out) :: status

Calls

proc~~resolve_time_var~~CallsGraph proc~resolve_time_var resolve_time_var nf90_inq_varid nf90_inq_varid proc~resolve_time_var->nf90_inq_varid nf90_inquire_dimension nf90_inquire_dimension proc~resolve_time_var->nf90_inquire_dimension

Called by

proc~~resolve_time_var~~CalledByGraph proc~resolve_time_var resolve_time_var proc~register_common register_common proc~register_common->proc~resolve_time_var proc~ocean_data_input_register_2d ocean_data_input_register_2d proc~ocean_data_input_register_2d->proc~register_common proc~ocean_data_input_register_3d ocean_data_input_register_3d proc~ocean_data_input_register_3d->proc~register_common proc~ocean_data_input_register_segment_2d ocean_data_input_register_segment_2d proc~ocean_data_input_register_segment_2d->proc~register_common proc~ocean_data_input_register_segment_3d ocean_data_input_register_segment_3d proc~ocean_data_input_register_segment_3d->proc~register_common proc~ocean_data_input_load_static_2d ocean_data_input_load_static_2d proc~ocean_data_input_load_static_2d->proc~ocean_data_input_register_2d proc~register_tag register_tag proc~register_tag->proc~ocean_data_input_register_2d proc~ocean_data_forcing_configure ocean_data_forcing_configure proc~ocean_data_forcing_configure->proc~register_tag proc~seed_cavity_draft seed_cavity_draft proc~seed_cavity_draft->proc~ocean_data_input_load_static_2d proc~engine_setup engine_setup proc~engine_setup->proc~ocean_data_forcing_configure proc~ocean_state_seed_from_cfg ocean_state_seed_from_cfg proc~ocean_state_seed_from_cfg->proc~seed_cavity_draft

Variables

Type Visibility Attributes Name Initial
character(len=64), private :: dname

Source Code

   subroutine resolve_time_var(ncid, tdimid, tvarid, status)
      !! Look up the time coordinate variable by the CF convention (dim
      !! name == var name); fall back to a variable literally named
      !! "time". `status` is `nf90_noerr` iff found.
      integer, intent(in) :: ncid, tdimid
      integer, intent(out) :: tvarid, status
      character(len=64) :: dname

      status = nf90_inquire_dimension(ncid, tdimid, name=dname)
      if (status == nf90_noerr) status = nf90_inq_varid(ncid, trim(dname), tvarid)
      if (status /= nf90_noerr) status = nf90_inq_varid(ncid, "time", tvarid)
   end subroutine resolve_time_var