Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Very close eta_leves with adative_time_step

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

JCollins

New member
Hello everyone.

I am trying to establish eta_levels close to the surface and close to each other. The problem I have is that when I put them very close I have to set a low time_step, which causes the run to be very slow.

I have tried to use adaptive_time_step to improve the time. But I tried different variables and the run always stops without any data about the error, just a segmentation fault.

Right now I have the following configuration in the namelist, but I have tried to modify max_time_step, min_time_step, etc., without success. If I don't use adative_time_step I have to set the time_step to 18 to run successfully.

Any suggestions to use the adapted time step?

Code:
&domains
use_adaptive_time_step = .true.,
step_to_output_time = .true.,
target_cfl = 1.2,1.2,1.2,
target_hcfl = 0.84,0.84,0.84,
max_step_increase_pct = 5,51,51,
starting_time_step = -1,-1,-1,
max_time_step = -1,-1,-1,
min_time_step = -1,-1,-1,
adaptation_domain = 1,
time_step = 18,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 3,
e_we = 55,61,94,
e_sn = 55,61,88,
e_vert = 28,28,28,
p_top_requested = 5000,
!auto_levels_opt = 2,
!max_dz = 1000,
!dzbot = 50,
!dzstretch_s = 1.4,
!dzstretch_u = 1.2,
eta_levels = 1.000, 0.9950, 0.9925, 0.9901, 0.9876,
             0.922, 0.894, 0.860, 0.817, 0.766,
             0.707, 0.644, 0.576, 0.507, 0.444,
             0.380, 0.324, 0.273, 0.228, 0.188,
             0.152, 0.121, 0.093, 0.069, 0.048,
             0.029, 0.014, 0.000,
num_metgrid_levels = 34,
num_metgrid_soil_levels = 4,
dx = 9000,3000,1000,
dy = 9000,3000,1000,
grid_id = 1,2,3,
parent_id = 1,1,2,
i_parent_start = 1,17,14,
j_parent_start = 1,18,17,
parent_grid_ratio = 1,3,3,
parent_time_step_ratio = 1,3,3,
feedback = 1,
smooth_option = 0,
/
 
Hi,
Unfortunately the adaptive time-stepping option seems to work well when you're only running 1 domain, but not when using nests.
1) when you run this with a higher time_step and it fails, is it stopping immediately, or does it run for a while?
2) Do you see CFL errors in your rsl* files. You can search with:
Code:
grep cfl rsl*
to see if anything prints out.

If it's stopping immediately, then you can try to use the Digital Filtering Initialization (DFI) option, which you can read more about here:
http://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.1/users_guide_chap5.html#DFI

You will run WRF twice:
1st run: turn off adaptive time-stepping, and then add the settings for DFI in the namelist. You can find example/recommended settings in the examples.namelist file found in test/em_real. Set time_step_dfi (in the &domains section) to 18. Set 'dfi_write_filtered_input' to true, and it will write out a wrfinput_initialized_d01 file. Run WRF for 1 time step past the dfi_fwdstop_* time. Once that runs, you can then rename the wrfinput_initialized_d01 file to wrfinput_d01.

2nd run: keep adaptive time-step off, turn off DFI, set your time_step to a higher number and run WRF for the simulation time that you originally planned to run, and see if it allows you to run without the need to decrease the time step. If not, then unfortunately your only option may be to run with a very low time_step.
 
Hi.

I was using adaptive time step because I do have good results, even with nests.

Running with adaptive time does not stop immediately, but stops very soon, almost at the beginning. In this case no cfl error is found.

With a fixed time step, run more time, although it depends on the time set. If it is very high it stops soon and if it is lower it takes longer. In this case there are cfl errors.
Code:
rsl.error.0004:           3  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.error.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   4.073398       1.484509      2.4999976E-03
rsl.error.0004:           2  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.error.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   3.219591      -19.46869      2.4999976E-03
rsl.error.0004:           2  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.error.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   2.852095      -4.377624      2.4999976E-03
rsl.error.0004:           2  points exceeded cfl=2 in domain d03 at time 2019-08-17_00:02:24 hours
rsl.error.0004: MAX AT i,j,k:           34          45           4  vert_cfl,w,d(eta)=   2.460580       13.78560      2.4999976E-03
rsl.error.0004:           3  points exceeded cfl=2 in domain d03 at time 2019-08-17_00:02:24 hours
rsl.error.0004: MAX AT i,j,k:           33          45           4  vert_cfl,w,d(eta)=   3.534352       14.36221      2.4999976E-03
rsl.out.0004:           3  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.out.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   4.073398       1.484509      2.4999976E-03
rsl.out.0004:           2  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.out.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   3.219591      -19.46869      2.4999976E-03
rsl.out.0004:           2  points exceeded cfl=2 in domain d02 at time 2019-08-17_00:02:24 hours
rsl.out.0004: MAX AT i,j,k:           24          31           4  vert_cfl,w,d(eta)=   2.852095      -4.377624      2.4999976E-03
rsl.out.0004:           2  points exceeded cfl=2 in domain d03 at time 2019-08-17_00:02:24 hours
rsl.out.0004: MAX AT i,j,k:           34          45           4  vert_cfl,w,d(eta)=   2.460580       13.78560      2.4999976E-03
rsl.out.0004:           3  points exceeded cfl=2 in domain d03 at time 2019-08-17_00:02:24 hours
rsl.out.0004: MAX AT i,j,k:           33          45           4  vert_cfl,w,d(eta)=   3.534352       14.36221      2.4999976E-03
 
Okay, then can you attach all of your rsl* files for the run with adaptive time step? You can package those together in a *.tar file. Please also attach your full namelist.input file, and let me know which version of the model you are using. Thanks.
 
I attach all the rsl, in a .tar file, of a run with adative_time_step. I also include namelist.input. Thank you very much.
 

Attachments

  • namelist.input
    4.6 KB · Views: 68
  • rsl.tar
    110 KB · Views: 48
Hi Kwener.

Could you see any possible solution?

For my part, I have read several things about CFL and have seen the following solution several times. Edit GEOGRID.TBL and change the following line:
Code:
smooth_option = smth-desmth_special; smooth_passes=1

For this line:
Code:
smooth_option = 1-2-1; smooth_passes=3

With this change, the run works. What has been a blind test, since I don't know what makes that change exactly. I know there are 3 different options, but where can you find what each option does? There is also no explanation in the user guide.

Can this give any clue as to what is happening?
 
Hi,
I am actually not sure about the answer to this. I have sent your question to our geogrid expert and will get back to you as soon as they respond.
 
The "smth-desmth" and "1-2-1" smoothing options were adapted from the MM5's TERRAIN program. The 1-2-1 smoother more aggressively reduces energy in the terrain field at longer wavelengths than the smoother-desmoother. You can get an idea of the differences between these two terrain smoothing options by looking at Table 3.1 (on p.35) of the TERRAIN technical note: https://opensky.ucar.edu/islandora/object/technotes:169 .

Essentially, then, by switching to three passes of the 1-2-1 smoother, you'd be removing more small scale structure from your terrain field.
 
Thank you very much mgduda.

With the technical note it is much clearer what can be done to soften the ground and its consequences. This also explains that it would serve as a "solution" to eliminate the cfl and to establish the vertical levels much closer to each other.
 
Top