[ncl-talk] Vorticity Advection with NCL

Lara Quitián Hernández laraquitianhernandez at gmail.com
Tue May 22 07:24:49 MDT 2018


First of all, I apologize for asking you so many questions and for this
long email.

I'm trying to interpolate the WRF u,v, relative vorticity to a rectilinear
grid and use the *advect_variable* on the rectilinear grid. However, I have
obtained this warning and I do not know how to fixed it: *advect_var:
Warning: No named dimensions. Can not check grid order.*

After defining the diverse variables, I have performed the regrid in this
way:

*;================================================================================*
*; Part A: WRF (curvilinear) to Rectilinear regrid variable and generate
weights *
*;================================================================================*

*;Interpolate the WRF u, v and relative vorticity to a rectilinear grid
with as fine [or finer] resoultion as the WRF grid*


*;---Set up options for regridding*

*    InterpMethod= "bilinear"                    ; define interpolation
method*

*;---Title and filename options*

*    Opt                = True*
*    Opt at SrcTitle       = "WRF grid"   ; optional*
*    Opt at WgtFileName    =
"WRF_to_Rect.WgtFile_"+InterpMethod+"."+nlat+"_x_"+nlon+".nc"*

*;---Source grid options*
*    Opt at SrcFileName    =
"WRF.SCRIP_grid_description."+nlat+"_x_"+nlon+".nc"  ; Name of source and*
*    Opt at SrcRegional    = True*
*    Opt at SrcGridLat     = lat2d*
*    Opt at SrcGridLon     = lon2d*

*;---Destination grid options*
*    Opt at DstFileName    =
"Rectilinear.SCRIP_grid_description."+nlat+"_x_"+nlon+".nc" ; destination
files*
*    Opt at DstGridType    = "rectilinear"*
*    Opt at DstGridLat     = lat*
*    Opt at DstGridLon     = lon*
*    Opt at DstRegional    = True*

*;---Specify other options  *
*    Opt at ForceOverwrite = True*
*    Opt at InterpMethod   = InterpMethod*

*;---Perform the regrid: WRF ==> rectilinear (_reclin)*
*    u_reclin = ESMF_regrid(u, Opt)     ; Do the regridding for u   *

*;---Use the just generated weight file*
*    v_reclin = ESMF_regrid_with_weights(v,Opt at WgtFileName,False)*

*;---Perform the regrid for wr: WRF ==> rectilinear (_reclin)*
*    wr_reclin = ESMF_regrid_with_weights(wr, Opt at WgtFileName,False)  *

Afterwards, I use the *advect_variable:*

;======================================================================
;Use 'advect_variable' on the rectilinear grid
;======================================================================

   adv_vrt = advect_variable(u, v, wr, 1, "vorticity advection",
"(m/s)(s-1)",0)   ;I use gridType=1. I suppose rectilinear and fixed grid
are quite similar, or even, the same.

  printVarSummary(adv_vrt)
  printMinMax(adv_vrt,0)
  print("----")

Finally, I obtain this results and I do not know if they are correctly
calculated:

*Variable: u_reclin*
*Type: float*
*Total Size: 5972400 bytes*
*            1493100 values*
*Number of Dimensions: 3*
*Dimensions and sizes: [bottom_top | 35] x [lat | 180] x [lon | 237]*
*Coordinates: *
*            lat: [25.832275390625..40.83070373535156]*
*            lon: [-34.179443359375..-9.305511474609375]*
*Number Of Attributes: 8*
*  missing_value : 9.96921e+36*
*  remap : remapped via ESMF_regrid_with_weights: Bilinear*
*  _FillValue : 9.96921e+36*
*  stagger :  *
*  units : m s-1*
*  description : x-wind component*
*  MemoryOrder : XYZ*
*  FieldType : 104*
*(0) u_reclin: min=-21.454   max=49.9299*
*(0) ----*

*Variable: v_reclin*
*Type: float*
*Total Size: 5972400 bytes*
*            1493100 values*
*Number of Dimensions: 3*
*Dimensions and sizes: [bottom_top | 35] x [lat | 180] x [lon | 237]*
*Coordinates: *
*            lat: [25.832275390625..40.83070373535156]*
*            lon: [-34.179443359375..-9.305511474609375]*
*Number Of Attributes: 8*
*  _FillValue : 9.96921e+36*
*  stagger :  *
*  units : m s-1*
*  description : y-wind component*
*  MemoryOrder : XYZ*
*  FieldType : 104*
*  remap : remapped via ESMF_regrid_with_weights: Bilinear*
*  missing_value : 9.96921e+36*
*(0) v_reclin: min=-51.6305   max=46.8953*
*(0) ----*

*Variable: wr_reclin*
*Type: float*
*Total Size: 5972400 bytes*
*            1493100 values*
*Number of Dimensions: 3*
*Dimensions and sizes: [35] x [lat | 180] x [lon | 237]*
*Coordinates: *
*            lat: [25.832275390625..40.83070373535156]*
*            lon: [-34.179443359375..-9.305511474609375]*
*Number Of Attributes: 3*
*  _FillValue : 9.96921e+36*
*  remap : remapped via ESMF_regrid_with_weights: Bilinear*
*  missing_value : 9.96921e+36*
*(0) wr_reclin: min=-34.6481   max=63.9581*
*(0) ----*
*(0) RectilinearGrid: nmsg=180075*
*(0) ----*
*(0) advect_var: Warning: No named dimensions. Can not check grid order.*

*Variable: adv_vrt*
*Type: float*
*Total Size: 5972400 bytes*
*            1493100 values*
*Number of Dimensions: 3*
*Dimensions and sizes: [35] x [180] x [237]*
*Coordinates: *
*Number Of Attributes: 2*
*  long_name : vorticity advection*
*  units : (m/s)(s-1)*
*(0) vorticity advection ((m/s)(s-1)) : min=-0.0107484   max=0.0109576*

Unfortunately, I also obtain this errors:

(0) is_SCRIP: 'Rectilinear.SCRIP_grid_description.nc' doesn't exist.
(0) ESMF_regrid_gen_weights: invalid or missing SCRIP source grid file.

And I obtain this three files:


*Rectilinear.SCRIP_grid_description.180_x_237.nc
<http://Rectilinear.SCRIP_grid_description.180_x_237.nc>*

*WRF.SCRIP_grid_description.180_x_237.nc
<http://WRF.SCRIP_grid_description.180_x_237.nc>*
*WRF_to_Rect.WgtFile_bilinear.180_x_237.nc
<http://WRF_to_Rect.WgtFile_bilinear.180_x_237.nc>*

Which file do I have to use to display the vorticity advection? None, I
suppose. They are all description files, except one.

If you need my script, just tell me.

Thanks in advance.

Regards,
Lara


2018-05-22 11:08 GMT+02:00 Lara Quitián Hernández <
laraquitianhernandez at gmail.com>:

> Good morning,
>
> Thank you very much. There is only one doubt left unanswered: the *advect_function
> *requires a *Gaussian, regular o fixed grid*, but not *rectilinear*. Is
> there any relation between them?
>
> Regards,
> Lara
>
> 2018-05-21 19:21 GMT+02:00 Dennis Shea <shea at ucar.edu>:
>
>> ESMF 37 was
>> (a)  interpolating u and v onto a rectilinear grid;
>> (b)  calculating divergence using uv2dv_cfd which requires u and v to be
>> on a rectilinear grid;
>> (c)  interpolating the derived divergence on a rectilinear grid back onto
>> the original WRF grid
>>
>> ---
>> In your case:
>>
>> [1] Interpolate the WRF u, v and relative vorticity to a rectilinear grid
>> with as fine [or finer] resoultion as the WRF grid
>> [2] Use 'advect_variable' on the rectilinear grid
>> [3] interpolate the advected quantity on the rectilinear grid back onto
>> the original WRF grid
>>
>> ---
>> Caveat: Technically, on a sphere,  u and v must be interpolated together
>> using the 'rotation' angle.
>> Why? because the new location has a 'slightly' different orientation
>> relative to the pole(s)
>>
>>   unew        = u*cos(rot) - v*sin(rot)
>>   vnew        = u*sin(rot) + v*cos(rot)
>>
>> The above approach, independently interpolating u and v ignores the
>> rotation. It is assumed to be very small.
>>
>>
>>
>>
>> On Mon, May 21, 2018 at 3:45 AM, Lara Quitián Hernández <
>> laraquitianhernandez at gmail.com> wrote:
>>
>>> Good morning,
>>>
>>> Thank you so much. Unfortunately, I have some doubts.
>>>
>>> 1.- I have read the information for Example 37 but I do not understand
>>> the need of computing the divergence ("uv2dv_cfd"). I just need my
>>> variables on a Gaussian, regular o fixed grid in order to apply the
>>> *advect_variable* function
>>> 2.- I need to convert my curvilinear WRF grid to a Gaussian, regular o
>>> fixed grid. However, in both Examples (29a and 37) a regrid from a WRF grid
>>> to a rectilinear grid is carried out. Are those grids (Gaussian, regular o
>>> fixed grid) also rectilinear grids?
>>> 3.-Do I need to regrid back to the WRF curvilinear grid as it is done in
>>> both examples?
>>>
>>> Thanks in advance.
>>>
>>> Regards,
>>> Lara
>>>
>>>
>>>
>>> 2018-05-20 1:10 GMT+02:00 Dennis Shea <shea at ucar.edu>:
>>>
>>>> NCL has no builtin function to advect a field (eg: vorticity) on a
>>>> curvilinear grid (eg: your WRF Grid)..
>>>> Maybe ask wrfhelp?
>>>>
>>>> ===
>>>> That said
>>>>
>>>> https://www.ncl.ucar.edu/Applications/ESMF.shtml
>>>> Example 29a
>>>> or, maybe better,
>>>> Example 37
>>>>
>>>> outlines a method that might be used for your needs.
>>>>
>>>> ===
>>>> Good luck
>>>>
>>>>
>>>> On Wed, May 16, 2018 at 7:40 AM, Lara Quitián Hernández <
>>>> laraquitianhernandez at gmail.com> wrote:
>>>>
>>>>> Hello,
>>>>>
>>>>> Thank you. In the case of calculating the horizontal advection for
>>>>> *vorticity*, it would be better to use the direct WRF variable ( vo =
>>>>> wrf_user_getvar(a,"*avo*",-1)) or define it via different functions:
>>>>> https://www.ncl.ucar.edu/Applications/vort.shtml
>>>>>
>>>>> The only example in the link defines the Vorticity like this:
>>>>>
>>>>> ;************************************************
>>>>> ; calculate vorticity on a Gaussian Grid
>>>>> ; scale for visual convenience
>>>>> ;************************************************
>>>>>   scale = 1.e05
>>>>>   vrt   = u                                      ; retain coordinates
>>>>>   vrt   = uv2vrG_Wrap(u,v) * scale
>>>>>   vrt at long_name = "vorticity"
>>>>>   vrt at units     = "scaled"
>>>>>
>>>>>
>>>>> However, my simulations are generated on a Lambert Conformal grid
>>>>> projection, not Gaussian one. Does this change the procedure to calculate
>>>>> it?
>>>>>
>>>>> Regards,
>>>>> Lara
>>>>>
>>>>> 2018-05-16 14:28 GMT+02:00 Dennis Shea <shea at ucar.edu>:
>>>>>
>>>>>> Maybe:
>>>>>>
>>>>>> https://www.ncl.ucar.edu/Document/Functions/Contributed/adve
>>>>>> ct_variable.shtml
>>>>>>
>>>>>> 'x' would be vorticity
>>>>>>
>>>>>> Good Luck
>>>>>>
>>>>>> On Wed, May 16, 2018 at 4:01 AM, Lara Quitián Hernández <
>>>>>> laraquitianhernandez at gmail.com> wrote:
>>>>>>
>>>>>>> Good morning,
>>>>>>>
>>>>>>> I would like to know if there is a possibility of calculating the
>>>>>>> Vorticity Advection with NCL.
>>>>>>>
>>>>>>> Thanks in advance.
>>>>>>>
>>>>>>> Regards,
>>>>>>> Lara
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>>
>>>>>>>
>>>>>>> *Lara Quitián Hernández, PhD Student*
>>>>>>> Departamento de Física de la Tierra, Astronomía y Astrofísica
>>>>>>> Facultad de Ciencias Físicas
>>>>>>> Ciudad Universitaria, Plaza Ciencias, 1
>>>>>>> <https://maps.google.com/?q=Ciudad+Universitaria,+Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>>>>>> 28040 Madrid. Spain
>>>>>>> <https://maps.google.com/?q=Ciudad+Universitaria,+Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>>>>>> Email: lquitian at ucm.es <mlunar at aemet.es>
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> ncl-talk mailing list
>>>>>>> ncl-talk at ucar.edu
>>>>>>> List instructions, subscriber options, unsubscribe:
>>>>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>>
>>>>>
>>>>> *Lara Quitián Hernández, PhD Student*
>>>>> Departamento de Física de la Tierra, Astronomía y Astrofísica
>>>>> Facultad de Ciencias Físicas
>>>>> Ciudad Universitaria, Plaza Ciencias, 1
>>>>> <https://maps.google.com/?q=Ciudad+Universitaria,+Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>>>> 28040 Madrid. Spain
>>>>> <https://maps.google.com/?q=Ciudad+Universitaria,+Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>>>> Email: lquitian at ucm.es <mlunar at aemet.es>
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>>
>>>
>>> *Lara Quitián Hernández, PhD Student*
>>> Departamento de Física de la Tierra, Astronomía y Astrofísica
>>> Facultad de Ciencias Físicas
>>> Ciudad Universitaria, Plaza Ciencias, 1
>>> <https://maps.google.com/?q=Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>> 28040 Madrid. Spain
>>> <https://maps.google.com/?q=Plaza+Ciencias,+1+28040+Madrid.+Spain&entry=gmail&source=g>
>>> Email: lquitian at ucm.es <mlunar at aemet.es>
>>>
>>>
>>
>
>
> --
>
>
> *Lara Quitián Hernández, PhD Student*
> Departamento de Física de la Tierra, Astronomía y Astrofísica
> Facultad de Ciencias Físicas
> Ciudad Universitaria, Plaza Ciencias, 1
> 28040 Madrid. Spain
> Email: lquitian at ucm.es <mlunar at aemet.es>
>
>


-- 


*Lara Quitián Hernández, PhD Student*
Departamento de Física de la Tierra, Astronomía y Astrofísica
Facultad de Ciencias Físicas
Ciudad Universitaria, Plaza Ciencias, 1
28040 Madrid. Spain
Email: lquitian at ucm.es <mlunar at aemet.es>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180522/da4537ca/attachment.html>


More information about the ncl-talk mailing list