[ncl-talk] Vorticity Advection with NCL
Lara Quitián Hernández
laraquitianhernandez at gmail.com
Thu May 24 02:26:20 MDT 2018
Thank you. I am trying to connect via ftp since yesterday but I get a
"Connection timed out" message all the time. I'll keep trying.
Regards,
Lara
2018-05-24 5:03 GMT+02:00 Dennis Shea <shea at ucar.edu>:
>
> [0]
> You can advect *any *quantity. I thought it is best to advect relative
> vorticity and then add the coriolis force to get the 'new' absolute
> vorticity. However, you could advect absolute vorticity for you needs. Good
> question for your advisor. :-)
>
> [1]
> You are starting with a WRF grid. The 'advect_variable' function requires
> a rectilinear grid. Hence, you need to generate a weight file that takes
> data on a WRF grid to a rectilinear grid. Any name can be used for the
> weight file. This is fine:
> "WRF_to_Rect.WgtFile_"+InterpMethod+"."+nlat+"_x_"+nlon+".nc"
>
> [2]
> Now you want to take the advected vorticity on a rectilinear grid and
> interpolate it to the original WRF grid. The following name is fine.
>
> Opt at WgtFileName = "Rect_to_WRF.WgtFile_"+
> InterpMethod+"."+nlat+"_x_"+nlon+".nc"
>
> ---
> You wrote: "I'm still obtaining errors." However, you did not state what
> the errors are.
> I think the following
>
> adv_wrf = ESMF_regrid(adv_vrt,
>
> * Opt)*
>
>
> *should be*
> adv_wrf = ESMF_regrid(adv_vrt,*
> Opt at WgtFileName*)
>
> ---
> You did not "ftp a WRF file"
>
> Good Luck
>
>
> On Wed, May 23, 2018 at 4:30 AM, Lara Quitián Hernández <
> laraquitianhernandez at gmail.com> wrote:
>
>> Thank you so much. I was absolutely wrong and I did not realize
>> my mistake.
>>
>> I attach here my script because I'm still obtaining errors and I'm afraid
>> I do not fully understand the procedure of the different calculations. For
>> example, I do not know if I have to generate a weight file for regridding
>> the relative vorticity (wr) or which name give to that weight file
>> (Opt at WgtFileName). Moreover, I do not know why do I have to use the
>> relative vorticity and not the absolute vorticity to study the vorticity
>> advection at the end.
>>
>> On the other hand, I will also ftp a WRF file and my script.
>>
>> Thanks in advance.
>>
>> Regards,
>> Lara
>>
>>
>> 2018-05-22 17:40 GMT+02:00 Adam Phillips <asphilli at ucar.edu>:
>>
>>> Hi Lara,
>>> You are passing in your original data into advect_variable instead of
>>> the regridded variables. Change this:
>>> adv_vrt = advect_variable(u, v, wr, 1, "vorticity advection",
>>> "(m/s)(s-1)",0)
>>> to this:
>>> adv_vrt = advect_variable(u_reclin, v_reclin, wr_reclin, 1, "vorticity
>>> advection", "(m/s)(s-1)",0)
>>>
>>> Gaussian grids are indeed rectlinear grids. See the definition here:
>>> https://www.ncl.ucar.edu/Document/glossary.shtml#RectilinearGrid
>>>
>>> If you have any further questions please respond to ncl-talk.
>>> Adam
>>>
>>> On Tue, May 22, 2018 at 7:24 AM, Lara Quitián Hernández <
>>> laraquitianhernandez at gmail.com> wrote:
>>>
>>>> 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
>>>>> <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
>>>> <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>
>>>>
>>>>
>>>> _______________________________________________
>>>> ncl-talk mailing list
>>>> ncl-talk at ucar.edu
>>>> List instructions, subscriber options, unsubscribe:
>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>>
>>>>
>>>
>>>
>>> --
>>> Adam Phillips
>>> Associate Scientist, Climate and Global Dynamics Laboratory, NCAR
>>> www.cgd.ucar.edu/staff/asphilli/ 303-497-1726
>>>
>>> <http://www.cgd.ucar.edu/staff/asphilli>
>>>
>>
>>
>>
>> --
>>
>>
>> *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>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20180524/e86df174/attachment.html>
More information about the ncl-talk
mailing list