Go to the documentation of this file.
28 #define LISTED_TYPE fv3jedi_geom_iter
31 #include "oops/util/linkedList_i.f"
43 #include "oops/util/linkedList_c.f"
52 integer,
intent( in) :: iind, jind
72 self%geom => other%geom
75 self%iind = other%iind
76 self%jind = other%jind
87 integer,
intent(out) :: equals
93 if (
associated(self%geom, other%geom) .and. (self%iind==other%iind) .and. (self%jind==other%jind)) equals = 1
107 if (self%iind == -1 .AND. self%jind == -1)
then
109 lat = self%geom%grid_lat(self%geom%iec,self%geom%jec)
110 lon = self%geom%grid_lon(self%geom%iec,self%geom%jec)
111 elseif (self%iind < self%geom%isc .OR. self%iind > self%geom%iec .OR. &
112 self%jind < self%geom%jsc .OR. self%jind > self%geom%jec)
then
114 call abor1_ftn(
'fv3jedi_geom_iter_current: iterator out of bounds')
117 lat = self%geom%grid_lat(self%iind,self%jind)
118 lon = self%geom%grid_lon(self%iind,self%jind)
133 integer :: iind, jind
139 if (iind.lt.self%geom%iec)
then
141 elseif (iind.eq.self%geom%iec)
then
146 if (jind > self%geom%jec)
then
real(kind=kind_real), parameter, public rad2deg
subroutine, public fv3jedi_geom_iter_current(self, lon, lat)
Get geometry iterator current lat/lon.
Fortran module handling geometry for the FV3 model.
subroutine, public fv3jedi_geom_iter_clone(self, other)
Clone for the geometry iterator.
subroutine, public fv3jedi_geom_iter_setup(self, geom, iind, jind)
Linked list implementation.
Fortran derived type to hold geometry data for the FV3JEDI model.
integer, parameter, public kind_real
subroutine, public fv3jedi_geom_iter_next(self)
Update geometry iterator to next point.
subroutine, public fv3jedi_geom_iter_equals(self, other, equals)
Check for the geometry iterator equality.
type(registry_t), public fv3jedi_geom_iter_registry
Linked list interface - defines registry_t type.