test3 Subroutine

subroutine test3(rc)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: rc

Calls

proc~~test3~2~~CallsGraph proc~test3~2 test3 interface~esmf_meshcreate ESMF_MeshCreate proc~test3~2->interface~esmf_meshcreate proc~esmf_logfounderror ESMF_LogFoundError proc~test3~2->proc~esmf_logfounderror proc~esmf_meshdestroy ESMF_MeshDestroy proc~test3~2->proc~esmf_meshdestroy proc~make_mesh_sph~2 make_mesh_sph proc~test3~2->proc~make_mesh_sph~2 proc~esmf_meshcreate1part ESMF_MeshCreate1Part interface~esmf_meshcreate->proc~esmf_meshcreate1part proc~esmf_meshcreate3part ESMF_MeshCreate3Part interface~esmf_meshcreate->proc~esmf_meshcreate3part proc~esmf_meshcreateeasyelems1type ESMF_MeshCreateEasyElems1Type interface~esmf_meshcreate->proc~esmf_meshcreateeasyelems1type proc~esmf_meshcreateeasyelemsgen ESMF_MeshCreateEasyElemsGen interface~esmf_meshcreate->proc~esmf_meshcreateeasyelemsgen proc~esmf_meshcreatefromdg ESMF_MeshCreateFromDG interface~esmf_meshcreate->proc~esmf_meshcreatefromdg proc~esmf_meshcreatefromfile ESMF_MeshCreateFromFile interface~esmf_meshcreate->proc~esmf_meshcreatefromfile proc~esmf_meshcreatefromgrid ESMF_MeshCreateFromGrid interface~esmf_meshcreate->proc~esmf_meshcreatefromgrid proc~esmf_meshcreatefrommeshes ESMF_MeshCreateFromMeshes interface~esmf_meshcreate->proc~esmf_meshcreatefrommeshes proc~esmf_meshcreatefrompointer ESMF_MeshCreateFromPointer interface~esmf_meshcreate->proc~esmf_meshcreatefrompointer proc~esmf_meshcreateredist ESMF_MeshCreateRedist interface~esmf_meshcreate->proc~esmf_meshcreateredist esmf_breakpoint esmf_breakpoint proc~esmf_logfounderror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logfounderror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logfounderror->proc~esmf_logwrite proc~esmf_meshdestroy->proc~esmf_logfounderror c_esmc_basesetstatus c_esmc_basesetstatus proc~esmf_meshdestroy->c_esmc_basesetstatus c_esmc_meshdestroy c_esmc_meshdestroy proc~esmf_meshdestroy->c_esmc_meshdestroy c_esmc_meshgetisfree c_esmc_meshgetisfree proc~esmf_meshdestroy->c_esmc_meshgetisfree proc~esmf_imerr ESMF_IMErr proc~esmf_meshdestroy->proc~esmf_imerr proc~esmf_meshgetinit ESMF_MeshGetInit proc~esmf_meshdestroy->proc~esmf_meshgetinit proc~make_mesh_sph~2->proc~esmf_logfounderror interface~esmf_gridaddcoord ESMF_GridAddCoord proc~make_mesh_sph~2->interface~esmf_gridaddcoord interface~esmf_gridcreate1peridim ESMF_GridCreate1PeriDim proc~make_mesh_sph~2->interface~esmf_gridcreate1peridim interface~esmf_gridcreatenoperidim ESMF_GridCreateNoPeriDim proc~make_mesh_sph~2->interface~esmf_gridcreatenoperidim interface~esmf_gridgetcoord ESMF_GridGetCoord proc~make_mesh_sph~2->interface~esmf_gridgetcoord proc~esmf_gridtomesh ESMF_GridToMesh proc~make_mesh_sph~2->proc~esmf_gridtomesh

Called by

proc~~test3~2~~CalledByGraph proc~test3~2 test3 program~esmf_meshoputest ESMF_MeshOpUTest program~esmf_meshoputest->proc~test3~2

Source Code

  subroutine test3(rc)
    integer, intent(out)                :: rc

    integer                             :: localrc
    type(ESMF_Mesh)                     :: meshA, meshB, mesh

    rc = ESMF_SUCCESS
    localrc = ESMF_SUCCESS

    meshA = make_mesh_sph(40,20,1.,1.,30.,-5.,rc=localrc)
    if (ESMF_LogFoundError(localrc, &
      ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return
    meshB = make_mesh_sph(20,10,0.5,1.,50.,0.,rc=localrc)
    if (ESMF_LogFoundError(localrc, &
      ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return

    mesh = ESMF_MeshCreate(meshA, meshB, ESMF_MESHOP_DIFFERENCE, &
      areaThreshold=1.e-7_ESMF_KIND_R8, rc=localrc)
    if (ESMF_LogFoundError(localrc, &
      ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return
    
    !call ESMF_MeshWrite(mesh, "meshdiff", rc=localrc)
    !if (ESMF_LogFoundError(localrc, &
    !  ESMF_ERR_PASSTHRU, &
    !  ESMF_CONTEXT, rcToReturn=rc)) return

    call ESMF_MeshDestroy(mesh, rc=localrc)
    if (ESMF_LogFoundError(localrc, &
      ESMF_ERR_PASSTHRU, &
      ESMF_CONTEXT, rcToReturn=rc)) return

  end subroutine test3