[ncl-talk] Interpolate WRF eta levels to pressure levels
Anahita Amiri Farahani
aamir003 at ucr.edu
Wed Jan 8 11:48:20 MST 2020
Hi Dennis,
The highest values are at the lowest level of the model, here is the result:
ncl 44> print(pm10(nt,:,nl,ml)+" "+pp(nt,:,nl,ml)) ; original values
(0) 1.25481 981.047
(1) 1.24344 973.034
(2) 1.21865 962.199
(3) 1.17586 948.54
(4) 1.12176 931.583
(5) 1.06503 910.392
(6) 1.00965 884.963
(7) 0.944906 852.784
(8) 0.839258 815.761
(9) 0.12149 778.829
(10) 6.40826e-05 741.971
(11) 7.4096e-09 690.793
(12) 1.67003e-08 627.743
(13) 1.82599e-09 569.472
(14) 7.36256e-09 515.695
(15) 1.00853e-10 466.13
(16) 2.71609e-12 420.504
(17) 2.44285e-12 378.548
(18) 2.11262e-12 339.999
(19) 1.66884e-12 304.627
(20) 1.57059e-12 272.216
(21) 3.7027e-12 242.565
(22) 3.73469e-12 215.484
(23) 1.28918e-12 190.795
(24) 1.16618e-12 168.325
(25) 1.22242e-12 148.139
(26) 1.23782e-12 130.317
(27) 1.2826e-12 114.653
(28) 1.38395e-12 100.887
(29) 1.52224e-12 88.7878
(30) 1.42968e-12 78.1545
(31) 1.25225e-12 68.8088
(32) 1.10018e-12 60.5953
(33) 9.62732e-13 53.3767
ncl 45> print("-----")
(0) -----
ncl 46> print(To(nt,:,nl,ml)+" "+po)
(0) 9.96921e+36 1000
(1) 1.10414 925
(2) 0.936961 850
(3) 1.15346e-05 700
(4) 9.6186e-09 600
(5) 5.06314e-09 500
(6) 2.58256e-12 400
(7) 1.65481e-12 300
(8) 3.16807e-12 250
(9) 2.20098e-12 200
(10) 1.21723e-12 150
(11) 1.39409e-12 100
Thanks,
Ana
On Wed, Jan 8, 2020 at 1:32 PM Dennis Shea <shea at ucar.edu> wrote:
> re: "The max size is much smaller than original pm10. "
>
> How carefully did you look to see why this may occur?
> Are the larger pm10 values outside the 1000 and 100 hPa Levels?
>
> Pick a grid point
>
> nt = 7
> nl = 45
> ml = 60
>
> print(pm10(nt,:,nl,ml)+" "+pp(nt,:,nl,ml)) ; original values
> print("-----")
>
> ============
>
> To = int2p_n_Wrap (pp,pm10,po,1,1)
> ;
> :
> print(To(nt,:,nl,ml)+" "+po) ; interpolated values at specified
> pressure levels
>
> Do the values look correct?
>
> On Wed, Jan 8, 2020 at 9:08 AM Anahita Amiri Farahani <aamir003 at ucr.edu>
> wrote:
>
>> So you mean this:
>>
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
>> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>>
>> ana=addfile("wrfout_d01_2015-08-13","r")
>> ;ana=addfile("wrfout_d01_2015-08-13_00:00:00","r")
>> lat1=ana->XLAT(0,:,0)
>> lon1=ana->XLONG(0,0,:)
>> P=ana->P
>> pm10=ana->PM10
>> pp = wrf_user_getvar(ana, "pressure",-1)
>> delete(ana)
>>
>> printVarSummary(pm10)
>> printMinMax(pm10,0)
>> print("====")
>> printVarSummary(P)
>> printMinMax(P,0)
>> print("====")
>>
>>
>> po=(/1000,925,850,700,600,500,400,300,250,200,150,100/);*100.0
>> po!0 = "po"
>> po at long_name = "Pressure Level"
>> po at units = "hPa"
>>
>> To = int2p_n_Wrap (pp,pm10,po,1,1)
>> printVarSummary(To)
>> printMinMax(To,0)
>> print("====")
>>
>>
>> and I have this:
>>
>> Variable: To
>>
>> Type: float
>>
>> Total Size: 4678560 bytes
>>
>> 1169640 values
>>
>> Number of Dimensions: 4
>>
>> Dimensions and sizes: [Time | 9] x [po | 12] x [south_north | 95] x
>> [west_east | 114]
>>
>> Coordinates:
>>
>> po: [1000..100]
>>
>> Number Of Attributes: 7
>>
>> _FillValue : 9.96921e+36
>>
>> FieldType : 104
>>
>> MemoryOrder : XYZ
>>
>> description : pm10 dry mass
>>
>> units : ug m^-3
>>
>> stagger :
>>
>> coordinates : XLONG XLAT XTIME
>>
>> ncl 32> printMinMax(To,0)
>>
>> (0) pm10 dry mass (ug m^-3) : min=0 max=32.0972
>>
>> ncl 33> print("====")
>>
>> (0) ====
>>
>>
>>
>> The max size is much smaller than original pm10.
>>
>>
>> Thanks,
>>
>> Ana
>>
>> On Wed, Jan 8, 2020 at 10:59 AM Dennis Shea <shea at ucar.edu> wrote:
>>
>>> Yes.
>>>
>>> Sent from my iPhone
>>>
>>> On Jan 8, 2020, at 8:32 AM, Anahita Amiri Farahani <aamir003 at ucr.edu>
>>> wrote:
>>>
>>>
>>> Hi Dennis,
>>>
>>> I tried this, but it gives me missing values:
>>>
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
>>>
>>> ana=addfile("wrfout_d01_2015-08-13","r")
>>>
>>> lat1=ana->XLAT(0,:,0)
>>> lon1=ana->XLONG(0,0,:)
>>> P=ana->P
>>> pm10=ana->PM10
>>> delete(ana)
>>>
>>> printVarSummary(pm10)
>>> printMinMax(pm10,0)
>>> print("====")
>>> printVarSummary(P)
>>> printMinMax(P,0)
>>> print("====")
>>>
>>>
>>> po=(/1000,925,850,700,600,500,400,300,250,200,150,100/)*100.0
>>> po!0 = "po"
>>> po at long_name = "Pressure Level"
>>> po at units = "Pa"
>>>
>>> To = int2p_n_Wrap (P,pm10,po,1,1)
>>> printVarSummary(To)
>>> printMinMax(To,0)
>>> print("====")
>>>
>>>
>>>
>>>
>>>
>>> Variable: pm10
>>>
>>> Type: float
>>>
>>> Total Size: 13255920 bytes
>>>
>>> 3313980 values
>>>
>>> Number of Dimensions: 4
>>>
>>> Dimensions and sizes: [Time | 9] x [bottom_top | 34] x [south_north |
>>> 95] x [west_east | 114]
>>>
>>> Coordinates:
>>>
>>> Number Of Attributes: 6
>>>
>>> FieldType : 104
>>>
>>> MemoryOrder : XYZ
>>>
>>> description : pm10 dry mass
>>>
>>> units : ug m^-3
>>>
>>> stagger :
>>>
>>> coordinates : XLONG XLAT XTIME
>>>
>>> (0) pm10 dry mass (ug m^-3) : min=0 max=183.558
>>>
>>> (0) ====
>>>
>>>
>>> Variable: P
>>>
>>> Type: float
>>>
>>> Total Size: 13255920 bytes
>>>
>>> 3313980 values
>>>
>>> Number of Dimensions: 4
>>>
>>> Dimensions and sizes: [Time | 9] x [bottom_top | 34] x [south_north |
>>> 95] x [west_east | 114]
>>>
>>> Coordinates:
>>>
>>> Number Of Attributes: 6
>>>
>>> FieldType : 104
>>>
>>> MemoryOrder : XYZ
>>>
>>> description : perturbation pressure
>>>
>>> units : Pa
>>>
>>> stagger :
>>>
>>> coordinates : XLONG XLAT XTIME
>>>
>>> (0) perturbation pressure (Pa) : min=0.702637 max=2079.95
>>>
>>> (0) ====
>>>
>>>
>>> Variable: To
>>>
>>> Type: float
>>>
>>> Total Size: 4678560 bytes
>>>
>>> 1169640 values
>>>
>>> Number of Dimensions: 4
>>>
>>> Dimensions and sizes: [Time | 9] x [po | 12] x [south_north | 95] x
>>> [west_east | 114]
>>>
>>> Coordinates:
>>>
>>> po: [100000..10000]
>>>
>>> Number Of Attributes: 7
>>>
>>> _FillValue : 9.96921e+36
>>>
>>> FieldType : 104
>>>
>>> MemoryOrder : XYZ
>>>
>>> description : pm10 dry mass
>>>
>>> units : ug m^-3
>>>
>>> stagger :
>>>
>>> coordinates : XLONG XLAT XTIME
>>>
>>> (0) pm10 dry mass (ug m^-3) : min=9.96921e+36 max=9.96921e+36
>>>
>>> (0) ====
>>>
>>>
>>> P is the perturbation pressure, should I use pressure instead?
>>>
>>> Thanks,
>>> Ana
>>>
>>>
>>>
>>> On Tue, Jan 7, 2020 at 11:14 PM Dennis Shea <shea at ucar.edu> wrote:
>>>
>>>> ***If*** the WRF file has a variable
>>>> P(Time,bottom_top,south_north,west_east)
>>>> then those are the pressure levels at each 'eta' coordinate at each
>>>> grid point and time.
>>>>
>>>> If say you want to interpolate the variable
>>>> T(Time,bottom_top,south_north,west_east)
>>>> then something like:
>>>> T = f->T
>>>> P = f->P
>>>> printVarSummary(T)
>>>> printMinMax(T,0)
>>>> print("====")
>>>> printVarSummary(P)
>>>> printMinMax(P,0)
>>>> print("====")
>>>>
>>>> po = (/1000,900,850,700,600,500,400,300,200,100,50,10,5/)*100.0
>>>> po!0 = "po"
>>>> po at long_name = "Pressure Level"
>>>> po at units = "Pa"
>>>>
>>>> To =* int2p_n_Wrap*
>>>> <http://www.ncl.ucar.edu/Document/Functions/Contributed/int2p_n_Wrap.shtml>
>>>> (P,T,po,1,1)
>>>> printVarSummary(To)
>>>> printMinMax(To,0)
>>>> print("====")
>>>> ====
>>>> If P is not on the WRF file, then you will have to get help from WRF
>>>> support.
>>>>
>>>>
>>>>
>>>> On Tue, Jan 7, 2020 at 9:12 AM Anahita Amiri Farahani via ncl-talk <
>>>> ncl-talk at ucar.edu> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> Is there any function/command in NCL to convert WRF eta levels to
>>>>> pressure levels?
>>>>>
>>>>> Thanks,
>>>>> Ana
>>>>> _______________________________________________
>>>>> ncl-talk mailing list
>>>>> ncl-talk at ucar.edu
>>>>> List instructions, subscriber options, unsubscribe:
>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>
>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200108/a03b7d61/attachment.html>
More information about the ncl-talk
mailing list