test_smm_from_file Subroutine

public subroutine test_smm_from_file(srcFile, dstFile, weightFile, checkMethod, rc)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: srcFile
character(len=*), intent(in) :: dstFile
character(len=*), intent(in) :: weightFile
type(ESMF_RWGCheckMethod_Flag), intent(in) :: checkMethod
integer, intent(out) :: rc

Calls

proc~~test_smm_from_file~2~~CallsGraph proc~test_smm_from_file~2 test_smm_from_file interface~esmf_regridweightgen ESMF_RegridWeightGen proc~test_smm_from_file~2->interface~esmf_regridweightgen proc~esmf_logfounderror ESMF_LogFoundError proc~test_smm_from_file~2->proc~esmf_logfounderror proc~esmf_regridweightgencheck ESMF_RegridWeightGenCheck proc~test_smm_from_file~2->proc~esmf_regridweightgencheck proc~esmf_regridweightgendg ESMF_RegridWeightGenDG interface~esmf_regridweightgen->proc~esmf_regridweightgendg proc~esmf_regridweightgenfile ESMF_RegridWeightGenFile interface~esmf_regridweightgen->proc~esmf_regridweightgenfile 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_logseterror ESMF_LogSetError proc~esmf_regridweightgencheck->proc~esmf_logseterror c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg proc~esmf_logseterror->esmf_breakpoint proc~esmf_logseterror->proc~esmf_logrc2msg proc~esmf_logseterror->proc~esmf_logwrite c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array proc~esmf_regridweightgendg->proc~esmf_logseterror proc~esmf_regridweightgenfile->proc~esmf_logseterror proc~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Called by

proc~~test_smm_from_file~2~~CalledByGraph proc~test_smm_from_file~2 test_smm_from_file program~esmf_fieldsmmfromfileutest ESMF_FieldSMMFromFileUTest program~esmf_fieldsmmfromfileutest->proc~test_smm_from_file~2

Source Code

  subroutine test_smm_from_file(srcFile, dstFile, weightFile, checkMethod, rc)
    character(len=*), intent(in) :: srcFile, dstFile, weightFile
    integer, intent(out) :: rc
    type(ESMF_RWGCheckMethod_Flag), intent(in) :: checkMethod

    integer :: localrc

    rc = ESMF_FAILURE

    ! Generate the netCDF weights file.
    call ESMF_RegridWeightGen(srcFile, dstFile, weightFile=weightFile, rc=localrc)
    if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, &
      line=__LINE__, file=FILENAME, rcToReturn=rc)) return

    ! Validate generated weights produce acceptable errors. This subroutine
    ! calls ESMF_ArraySMMStoreFromFile or ESMF_FieldSMMStoreFromFile.
    call ESMF_RegridWeightGenCheck(weightFile, checkMethod=checkMethod, rc=localrc)
    if (ESMF_LogFoundError(rcToCheck=localrc, msg=ESMF_LOGERR_PASSTHRU, &
      line=__LINE__, file=FILENAME, rcToReturn=rc)) return

    rc = ESMF_SUCCESS

  end subroutine test_smm_from_file