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

Temperature for Convective velocity (WSTAR) in MYNN surface layer

pareja

New member
Hello all,
I am working with the "gustiness" or free convection velocity scale (w*) over water based on Beljaars (1995) for the MYNN surface layer scheme. I wondered what temperature should go in the buoyancy parameter g/T in this scaling, for model coupling purposes.

Paper: https://rmets.onlinelibrary.wiley.com/doi/epdf/10.1002/qj.49712152203
Code: WRF/phys/module_sf_mynn.F at master · wrf-model/WRF

The Beljaars definition for WSTAR (equation 8) includes the buoyancy parameter g/T. Since this scaling comes from the buoyancy production term in the TKE budget, I assume T here would be a surface air temperature (e.g. T2 or T at level 1). However, I see that TSK (skin temperature?) is used:

Code:
!--------------------------------------------------------
         !  Calculate the convective velocity scale (WSTAR) and
         !  subgrid-scale velocity (VSGD) following Beljaars (1995, QJRMS)
         !  and Mahrt and Sun (1995, MWR), respectively
         !-------------------------------------------------------
         !  Use Beljaars over land and water
         fluxc = max(hfx(i)/RHO1D(i)/cp                    &
         &    + ep1*THVGB(I)*qfx(i)/RHO1D(i),0.)
         !WSTAR(I) = vconvc*(g/TSK(i)*pblh(i)*fluxc)**.33
         IF (xland(i).gt.1.5 .or. QSFC(i).le.0.0) THEN   !WATER
            WSTAR(I) = vconvc*(g/TSK(i)*pblh(i)*fluxc)**.33
         ELSE                                            !LAND
            !increase height scale, assuming that the non-local transoport
            !from the mass-flux (plume) mixing exceedsd the PBLH.
            WSTAR(I) = vconvc*(g/TSK(i)*MIN(1.5*pblh(i),4000.)*fluxc)**.33
         ENDIF

The Olson et al 2012 technical memorandum on MYNN surface layer (https://doi.org/10.25923/f6a8-bc75) suggests the temperature would be the potential temperature at level 1 (theta_1) for w*.

I wondered: Is TSK here a skin surface temperature (level 0) or an air temperature (level 1)? Would this make a difference in the value of w*? I will be working in very low mean wind conditions where free convection drives the surface heat fluxes.





For context: we are working on coupling an ocean model (ROMS) with WRF. When coupled, ROMS computes bulk fluxes, including w* (gustiness), based on the WRF air temperature at 2m (T2). The snippet below is from ROMS for gustiness (slightly modified for clarity)

Code:
!
!  Compute gustiness in wind speed.
!
            Bf=-g/TairK *Ustar *(Tstar +0.61 * TairK * Qstar)
         
IF (Bf.gt.0.0_r8) THEN

              Wgus = beta*(Bf*PBLh)^1/3
     
END

Thanks,
Fernando Pareja-Roman
Rutgers University
 
TSK used in module_sf_mynn.F for WSTAR calculation is surface skin temperature. TSK and the first model level air temperature are definitely different.
I don't have an immediate answer how large the impact could be by using TSK instead of T(1).
Can you follow the description in the paper to replace TSK by T(1), and compare the results with your original run? Let's see how the model performs in this way.
 
Thank you.

I ran tests where I switched between using TSK and T2 for WSTAR in
Code:
phys/module_sf_mynn.F.
In my netCDF output, WSTAR is zero everywhere and UST equals USTM, even though the surface heat fluxes sometimes indicate convection. When I calculate WSTAR manually in MATLAB (using HFX, PBLH, etc.), I get nonzero values.

My namelist.input settings are:

Code:
 bl_pbl_physics     = 5,   
 sf_sfclay_physics  = 5,
 sf_surface_physics = 2,
 sst_skin           = 1,
 isftcflx           = 0

I also noticed this in the variable definitions:

Code:
!-- UST               u* in similarity theory (m/s)
!-- USTM              u* in similarity theory (m/s) w* added to WSPD. This is
!                     used to couple with TKE scheme but not in MYNN.
!                     (as of now, USTM = UST in this version)

This seems to suggest that MYNN does not compute an additional WSTAR, and therefore USTM remains equal to UST. So I wonder how heat fluxes are maintained at very low (or even zero) wind speeds other than by the subgrid velocity vsgd.

In which cases does WSTAR modify UST? Which combination of PBL and surface (water) physics would generate a nonzero WSTAR in the output?

Fernando
 
Hi Fernando,

I have not been able to reproduce your problem, but I am not testing your exact setup (and their may be other differences, i.e., compiler, system, etc):

sf_sfclay_physics = 5,
sf_surface_physics = 3,
bl_pbl_physics = 5,
sst_update = 1,
sst_skin = 1,
isftcflx = 0,

I piped wstar out of the surface layer scheme and into the output and I see "expected" values:

Screenshot 2025-04-04 at 12.27.28 PM.png

About your question on what value should be used (surface, 2-m, or first model level), I think the surface is most relevant, since it's the source of the energy causing the turbulence, but I doubt that wstar is that sensitive to the value used, maybe < +/- 5% on average. The variable used in the tech note may be an error, since I don't recall changing it to TSK since the tech note was written.

My guess is you have an incoming value that's uninitialized. You can try to recompile with "debug_code" set to TRUE. It will print all the incoming values to make sure we have all that is needed:
Screenshot 2025-04-04 at 12.46.07 PM.png
Almost every time I have found an issue related to the MYNN surface layer scheme in the past 5 years, I found the answer through these print outs. It's almost always an incoming trash problem. If you find something otherwise, please let me know.

-joe
 
Top