Skip to content

Fix MTD to compute the CDIST_TRAVELLED value correctly. #1976

@CPKalb

Description

@CPKalb

Describe the Problem

In the calculation of cdist_travelled, x_old and y_old are set in the first loop iteration as the values of xbar_2d and ybar_2d. However, these values don't change in successive iterations of the loop. This results in the distance being calculated using the starting centroid lat/lon rather than the centroid lat/lon of the previous time step, giving a cdist_travelled that is too large.

Expected Behavior

x_old and y_old should use the values of xbar_2d and ybar_2d from the previous loop iteration.

Environment

Describe your runtime environment:

  1. Machine: Linux Workstation (aerial)
  2. OS: Debian GNU/Linux 9.13 (stretch)
  3. Lines 1319 - 1336, https://github.com/dtcenter/MET/blob/main_v10.0/met/src/tools/other/mode_time_domain/3d_att.cc

To Reproduce

  1. Run mtd (mtd -single mtd_file_list_test.txt -config MTDConfig_SKM_python_ALP3i_MOHC_HadREM3_rcp85_prltTH05_rsmoo8_tsmoo1_minvol1000_oooo)
  2. Object F001 has a computed cdist_travelled of 354.691
  3. Compute the great circle distance between successive centroid lat/lons, using mtd_ALP-3i_MOHC_HadREM3_rcp85_prltTH05_rsmoo8_tsmoo1_minvol1000_oooo__20960314_000000V_2d.txt . The value computed externally is approximately 252 (using a constant earth radius of 6371)

Post relevant sample data following these instructions:*
The sample data is on seneca in /d1/projects/METplus/discussions/1249

Relevant Deadlines

MET 10.1.0-beta5

Funding Source

2702691

Define the Metadata

Assignee

  • Select engineer(s) or no engineer required
  • Select scientist(s) or no scientist required: Tina to review

Labels

  • Select component(s)
  • Select priority
  • Select requestor(s)

Projects and Milestone

  • Select Organization level Project for support of the current coordinated release
  • Select Repository level Project for development toward the next official release or add alert: NEED PROJECT ASSIGNMENT label
  • Select Milestone as the next bugfix version

Define Related Issue(s)

Consider the impact to the other METplus components.

Bugfix Checklist

See the METplus Workflow for details.

  • Complete the issue definition above, including the Time Estimate and Funding Source.
  • Fork this repository or create a branch of main_<Version>.
    Branch name: bugfix_<Issue Number>_main_<Version>_<Description>
  • Fix the bug and test your changes.
  • Add/update log messages for easier debugging.
  • Add/update unit tests.
  • Add/update documentation.
  • Push local changes to GitHub.
  • Submit a pull request to merge into main_<Version>.
    Pull request: bugfix <Issue Number> main_<Version> <Description>
  • Define the pull request metadata, as permissions allow.
    Select: Reviewer(s) and Linked issues
    Select: Organization level software support Project for the current coordinated release
    Select: Milestone as the next bugfix version
  • Iterate until the reviewer(s) accept and merge your changes.
  • Delete your fork or branch.
  • Complete the steps above to fix the bug on the develop branch.
    Branch name: bugfix_<Issue Number>_develop_<Description>
    Pull request: bugfix <Issue Number> develop <Description>
    Select: Reviewer(s) and Linked issues
    Select: Repository level development cycle Project for the next official release
    Select: Milestone as the next official version
  • Close this issue.

Metadata

Metadata

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions