MAPL_pybridge_gcrun_with_internal Subroutine

public subroutine MAPL_pybridge_gcrun_with_internal(pypkg_name, mapl, import, export, internal)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: pypkg_name
type(MAPL_MetaComp), intent(inout), target :: mapl
type(ESMF_State), intent(inout), target :: import
type(ESMF_State), intent(inout), target :: export
type(ESMF_State), intent(inout), target :: internal

Source Code

   subroutine MAPL_pybridge_gcrun_with_internal(pypkg_name, mapl, import, export, internal)
      ! -----------------------------
      ! Call the python integration by marhshalling Fortran object/memory
      ! into C compatible memory. Variation of `gcrun` with an INTERNAL state
      ! Will trigger the `GEOSInterfaceCode.run_with_internal` python function on the user code
      ! -----------------------------
      character(len=*), intent(in) :: pypkg_name
      type(MAPL_MetaComp), intent(inout), target :: mapl ! MAPL state
      type(ESMF_State), intent(inout), target :: import ! Import state
      type(ESMF_State), intent(inout), target :: export ! Export state
      type(ESMF_State), intent(inout), target :: internal ! Internal state

#ifdef PYTHONBRIDGE_INTEGRATION
      pygeosbridge_name_buffer = pypkg_name // C_NULL_CHAR
      call mapl_fortran_python_bridge_user_run_with_internal( &
           c_loc(pygeosbridge_name_buffer), &
           c_loc(mapl), c_loc(import), c_loc(export), c_loc(internal))
#endif
   end subroutine MAPL_pybridge_gcrun_with_internal