Skip to content
Snippets Groups Projects
read_field_indices.f90 1.91 KiB
module read_field_indices_m

  implicit none

  integer, protected:: ifield_extr_ssh, ifield_extr_date, &
       ifield_extr_eddy_index, ifield_extr_interp, ifield_extr_cycl, &
       ifield_extr_valid, ifield_extr_speed
  integer, protected:: ifield_out_r_eq_area, ifield_out_ssh, &
       ifield_out_radius4
  integer, protected:: ifield_max_speed_r_eq_area, ifield_max_speed_ssh
  
contains

  subroutine read_field_indices(hshp_extremum, hshp_outermost, hshp_max_speed)

    ! Libraries:
    use shapelib, only: shpfileobject
    use shapelib_03, only: dbf_get_field_index_03

    TYPE(shpfileobject), intent(in):: hshp_extremum ! shapefile extremum_$m

    TYPE(shpfileobject), intent(in):: hshp_outermost
    ! shapefile outermost_contour_$m

    TYPE(shpfileobject), intent(in):: hshp_max_speed
    ! shapefile x_speed_contour_$m

    !---------------------------------------------------------------------

    call dbf_get_field_index_03(hshp_extremum, "ssh", ifield_extr_ssh)
    call dbf_get_field_index_03(hshp_extremum, "date_index", ifield_extr_date)
    call dbf_get_field_index_03(hshp_extremum, "eddy_index", &
         ifield_extr_eddy_index)
    call dbf_get_field_index_03(hshp_extremum, "interpolat", ifield_extr_interp)
    call dbf_get_field_index_03(hshp_extremum, "cyclone", ifield_extr_cycl)
    call dbf_get_field_index_03(hshp_extremum, "valid", ifield_extr_valid)
    call dbf_get_field_index_03(hshp_extremum, "speed", ifield_extr_speed)

    call dbf_get_field_index_03(hshp_outermost, "r_eq_area", &
         ifield_out_r_eq_area)
    call dbf_get_field_index_03(hshp_outermost, "ssh", ifield_out_ssh)
    call dbf_get_field_index_03(hshp_outermost, "radius4", ifield_out_radius4)

    call dbf_get_field_index_03(hshp_max_speed, "r_eq_area", &
         ifield_max_speed_r_eq_area)
    call dbf_get_field_index_03(hshp_max_speed, "ssh", ifield_max_speed_ssh)

  end subroutine read_field_indices

end module read_field_indices_m