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

PSFC lower than the first model-level pressure at some points

chunchih

Member
Hi,

I discovered that the surface pressure (PSFC) at some points in my initial WRF output file (the output file at the initial time) is slightly lower than that at the first de-staggered model level, which does not make physical sense (pressure should decrease with height). However, my simulation (real-data) finished successfully without any errors.

Is this normal for WRF (version 4.2.1)? My simulation domain has a much higher resolution (simulation domain resolution = 1 km vs. meteorological input resolution = 0.5 deg.) than the input meteorological data and it has some shallow terrain in it. I also specified my own eta_levels as shown in the attached namelist.input.

David
 

Attachments

  • namelist.input.txt
    6.5 KB · Views: 2
Last edited:
Your namelist.input looks fine. This is a triply nested case and I wonder in which domain did you find points with PSFC lower than pressure at the first model level ? Did you find similar issues in wrfinput files?

Note that PSFC is a diagnostic variable, which is calculated based on hydrostatic equilibrium equation. Unless the vertical motion is very strong, it is rare that PSFC could be lower than upper level pressure.

Can you upload your wrfout file for me to take a look?
 
I think there are such points in all three of my domains (1 parent, 2 nested). So far, I have only found this issue in my initial WRF output file (i.e., the very first output since the simulation start, which should be identical to the wrfinput file).

I have uploaded the wrfinput and initial wrfout files to the forum's cloud storage (they are in a folder named "wrfout_psfc.zip"). The simulation was initialized using the 0.5-degree GFS at 12 UTC of the date indicated and the 30-sec topo data was used for the d03 domain.

Thanks.
 
I have downloaded your file. Just for a quick check, can you clarify at which point did you find that PSFC is smaller than pressure at the first model level? How did you obtain pressure at the 1st model level? Thanks.
 
This actually occurred for many points in the domain. Below are some points where this occurred. The three numbers are j index, i index, and the difference in Pa, respectively.

PSFC lower than first model level pressure: 171 445 35.46875
PSFC lower than first model level pressure: 171 446 59.539062
PSFC lower than first model level pressure: 193 444 37.132812
PSFC lower than first model level pressure: 193 445 30.0
PSFC lower than first model level pressure: 193 448 5.640625
PSFC lower than first model level pressure: 194 444 56.523438
PSFC lower than first model level pressure: 194 445 112.99219
PSFC lower than first model level pressure: 211 447 60.046875
PSFC lower than first model level pressure: 211 448 13.8671875
PSFC lower than first model level pressure: 212 447 97.91406
PSFC lower than first model level pressure: 213 447 6.2734375
PSFC lower than first model level pressure: 217 444 2.4296875
PSFC lower than first model level pressure: 217 445 23.914062
PSFC lower than first model level pressure: 217 449 1.4375
PSFC lower than first model level pressure: 221 443 11.984375
PSFC lower than first model level pressure: 225 3 6.8984375
PSFC lower than first model level pressure: 225 4 78.85156
PSFC lower than first model level pressure: 225 5 64.32031
PSFC lower than first model level pressure: 225 6 4.703125
PSFC lower than first model level pressure: 226 2 1.2109375
PSFC lower than first model level pressure: 226 3 77.140625
PSFC lower than first model level pressure: 226 4 78.49219
PSFC lower than first model level pressure: 226 445 28.601562
PSFC lower than first model level pressure: 227 1 21.5625
PSFC lower than first model level pressure: 227 2 15.4765625
PSFC lower than first model level pressure: 228 446 26.390625
PSFC lower than first model level pressure: 233 2 51.015625
PSFC lower than first model level pressure: 233 3 24.9375
PSFC lower than first model level pressure: 234 2 138.51562
PSFC lower than first model level pressure: 234 3 40.6875
PSFC lower than first model level pressure: 235 1 23.070312
PSFC lower than first model level pressure: 235 2 135.39844

I used WRF-Python's diagnostic tool to get the total pressure on model levels. This still occurred when I calculated the total pressure using the raw P+PB fields.
 
Below is an example, I chose j = 328, i = 6

Total pressure at the first model level PT[0,328,6] in Pa.
93765.016

Surface pressure PSFC[328,6]
93748.14

Geopotential height at the first model level ZH[0,328,6] in meters.
637.4329

Terrain height HGT[328,6] in meters
621.8816

So the height looks OK but not pressure.
 
I looked at the files wrfout_d03_2017-04-26_00:00:00 and wrfinput_d03. It seems that this issue only exists in the lateral boundary zone in wrfout file, which is largely attributed to changes in PB. In start_em.F, P, PB and PSFC are adjusted at the beginning of the model run. I am not sure yet what caused the problem. If the same problem also exists in wrfout_d01 at the 00 time of model integration, then I suppose it is not caused by interpolation from parent to child domain. I will talk to our expert and get back to you if I have more information.
 
Last edited:
Thanks for looking into this.

The file I uploaded was wrfout_d03_2007-06-22_120000, inside a zipped folder called wrfout_psfc. I am not sure if there was another zipped file with the same name as the one I uploaded. I uploaded the file on Nov. 28 2023 if that helps.

Since P, PB, and PSFC are adjusted at the beginning of the model run, I guess the weird-looking pressure profile with height at the initial time is not a big deal?
 
Last edited:
Hi,
I have talked to our expert regarding this issue. We are suspicious that this is caused by the terrain blending process along the boundary, during which P and Pb are adjusted. The model output at the 00 time includes the adjusted P and PB, but PSFC remains the same as input.
Note that PSFC at the initial time is a diagnostic variable and it has no impact on model simulation. Once wrf.exe starts, PSFC will be updated following the dynamcis/physics evolvement in WRF. Thereby the initial PSFC has little impact.
 
Your namelist.input looks fine. This is a triply nested case and I wonder in which domain did you find points with PSFC lower than pressure at the first model level ? Did you find similar issues in wrfinput files?

Note that PSFC is a diagnostic variable, which is calculated based on hydrostatic equilibrium equation. Unless the vertical motion is very strong, it is rare that PSFC could be lower than upper level pressure.

Can you upload your wrfout file for me to take a look?
Hi Ming, could you please explain how WRF calculates "surface pressure" as this is a diagnostic variable? I assume it is not the pressure at the first model level since the first model level should be terrain following and at a higher elevation than the ground. I am using WRF 3.8.1
 
@Israt246
(1) In phys/module_surface_driver.F, you can find the following line:
PSFC(I,J)=p8w(I,kts,J)
This is the PSFC that is later used as input in various subroutines
(2) p8w is pressure at full model levels. It is calculated in dyn_em/module_big_step_utilities_em.F. Please see the following piece of code
Code:
    do j = j_start,j_end                                     

    do k = 2, k_end                                         

    do i = i_start, i_end                                    

      p8w(i,k,j) = fzm(k)*p_phy(i,k,j)+fzp(k)*p_phy(i,k-1,j)   

      t8w(i,k,j) = fzm(k)*t_phy(i,k,j)+fzp(k)*t_phy(i,k-1,j) 

    enddo                                                  

    enddo                                              

    enddo

Special extrapolation is done to obtain pressure at the top and bottom of the model.
 
Top