make_field Function

public function make_field(geom, name, value, lm, rc) result(field)

Arguments

Type IntentOptional Attributes Name
type(ESMF_Geom), intent(in) :: geom
character(len=*), intent(in) :: name
real(kind=ESMF_KIND_R4), intent(in) :: value
integer, intent(in), optional :: lm
integer, intent(out), optional :: rc

Return Value type(ESMF_Field)


Calls

proc~~make_field~2~~CallsGraph proc~make_field~2 make_field esmf_fieldemptycomplete esmf_fieldemptycomplete proc~make_field~2->esmf_fieldemptycomplete esmf_fieldemptycreate esmf_fieldemptycreate proc~make_field~2->esmf_fieldemptycreate esmf_fieldemptyset esmf_fieldemptyset proc~make_field~2->esmf_fieldemptyset esmf_fieldget esmf_fieldget proc~make_field~2->esmf_fieldget

Called by

proc~~make_field~2~~CalledByGraph proc~make_field~2 make_field proc~test_basic~2 test_basic proc~test_basic~2->proc~make_field~2 proc~test_regrid_3d test_regrid_3d proc~test_regrid_3d->proc~make_field~2 proc~test_regrid_values test_regrid_values proc~test_regrid_values->proc~make_field~2

Source Code

   function make_field(geom, name, value, lm, rc) result(field)
      type(ESMF_Field) :: field
      type(ESMF_Geom), intent(in) :: geom
      character(*), intent(in) :: name
      real(kind=ESMF_KIND_R4), intent(in) :: value
      integer, optional, intent(in) :: lm
      integer, optional, intent(out) :: rc

      real(kind=ESMF_KIND_R4), pointer :: x(:,:)
      real(kind=ESMF_KIND_R4), pointer :: x_3d(:,:,:)
      integer :: status

      field = ESMF_FieldEmptyCreate(name=name, _RC2)
      call ESMF_FieldEmptySet(field, geom, _RC2)
      if (present(lm)) then
         call ESMF_FieldEmptyComplete(field, typekind=ESMF_TYPEKIND_R4, ungriddedLBound=[1], ungriddedUBound=[lm], _RC2)
         call ESMF_FieldGet(field, farrayptr=x_3d,_RC2)
         x_3d = value
      else
         call ESMF_FieldEmptyComplete(field, typekind=ESMF_TYPEKIND_R4, _RC2)
         call ESMF_FieldGet(field, farrayptr=x, _RC2)
         x = value
      end if

      _RETURN(_SUCCESS)
   end function make_field