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

Data issues with new variables

nmarkus

New member
Hello,

I recently went through the process of adding new variables to the registry from the thompson microphysics code. The variables I added are prr3d_sml, prr3d_gml, and prv3d_rev. These are 3-dimensional variables based off the prr_sml, prr_gml, and prv_rev one-dimensional variables that are already in the thompson mp code. I was able to get the model to compile and run, with the new variables appearing in the output. However, upon examining the new variables, I ran into some strange issues with how they are plotting/where data is showing up. Only the first 15 west_east rows of gridpoints are showing any data for the first 15 bottom_top levels, which is where "chunks" of data show up on the plots. Once I go above the 15th level, there is data that shows beyond the first 15 rows of gridpoints. For prr3d_sml and prr3d_gml, there is only data for four more west_east rows. For prv3d_rev, there is data for 15 more rows. However, for all three of these variables, the data in the first 15 rows at these levels all goes to zero, and everything beyond the previously mentioned rows is also still zero. Once I get above level 30, everything seems to go to zero. It is only these three variables that seem to be having this issue. This is in WRF version 4.4.2. What might be causing this?
1739909250118.png1739909295510.png
 

Attachments

  • solve_em.F
    266.3 KB · Views: 2
  • module_microphysics_driver.F
    173.9 KB · Views: 2
  • module_mp_thompson.F
    212.4 KB · Views: 3
  • namelist.input
    8.2 KB · Views: 2
  • Registry.txt
    422.8 KB · Views: 3
Hello,

I’ve been working in a similar process, and I checked your code. I think the issue could stem from the definition of the dimensions of prr3d_sml, prr3d_gml and prv3d_rev in module_mp_thompson.F:

At line 1363:
prr3d_sml(i,j,k) = prr_sml(k)
prr3d_gml(i,j,k) = prr_gml(k)
prv3d_rev(i,j,k) = prv_rev(k)

Should it instead be:

prr3d_sml(i,k,j) = prr_sml(k)
prr3d_gml(i,k,j) = prr_gml(k)
prv3d_rev(i,k,j) = prv_rev(k)

similar to how qv, qc, qi, etc., are defined just above?

I ran a simulation applying this change in WRF 4.5 and the output seems to be more realistic. I’ve attached the module_mp_thompson.F file modified, where all your changes are marked as !ChangeNM, and the specific ijk/ikj modification of line 1363 as !ChangeIKJ.
 

Attachments

  • module_mp_thompson.F
    235.3 KB · Views: 2
Top