Skip to content

Conversation

@smileMchen
Copy link
Collaborator

TYPE: bug fix

KEYWORDS: adaptive time step

SOURCE: Bryan Reen (US Army)

DESCRIPTION OF CHANGES:
(1) In dyn_em/adapt_timestep_em.F
-When reducing the time step it calculates "factor" to determine what to
multiply the old timestep by to get the new timestep. However, the way this
is calculated sometimes results in a negative multiplier. Now, the factor is
limited to being at least 0.1.
-When determining whether we are currently at the first time step (and thus
should use time step lengths specified for the first time step) it
previously incorrectly checked for advanceCount==1 instead of
advanceCount==0. Now it checks for advanceCount==0.

(2) in dyn_em/start_em.F
-Previously, denominators in starting time steps were effectively ignored.
This could result in a much larger timestep than desired at the first time
step which could result in model crashes due to CFL criteria. Now,
denominators specified for starting time steps are used.

(3) in frame/module_domain.F
-Previously, some initializations of new_grid were overwritten immediately
after having been made. For example, previously new_grid%last_step_updated
would be set to -1, but then immediately set to 0 by alloc_space_field. Then
adapt_timestep would see at time step 0 that last_step_updated=0 and so
assume that it had already calculated a timestep for the current time step
when it actually had not. Therefore, now some initializations of new_grid
have been moved down slightly to prevent them from being overwritten.

(4) external/esmf_time_f90/Meat.F90
-Add call to the subroutine simplify to simplify fractions relating to time
steps whenever they are normalized.

LIST OF MODIFIED FILES:
M dyn_em/adapt_timestep_em.F
M dyn_em/start_em.F
M external/esmf_time_f90/Meat.F90
M frame/module_domain.F

TESTS CONDUCTED:

  1. Regression 3.06
  2. A user test case with 3-nesting domain and adaptive time step

@davegill Please review these changes to see if they are correct

TYPE: bug fix

KEYWORDS: adaptive time step

SOURCE: Bryan (US Army)

DESCRIPTION OF CHANGES:
When the grid distance is small, the adaptive time step can be estimated to be
negative.

LIST OF MODIFIED FILES: list of changed files (use `git diff --name-status master` to get formatted list)
M       dyn_em/adapt_timestep_em.F
M       dyn_em/start_em.F
M       external/esmf_time_f90/Meat.F90
M       frame/module_domain.F

TESTS CONDUCTED:
1. Regression 3.06
@smileMchen
Copy link
Collaborator Author

@davegill
Dave, Would you please take a look at these changes and let me know whether they are correct? Thanks.
Ming

Copy link
Contributor

@davegill davegill left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved by WRF Dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants