[ncl-talk] Fw: Re: Fw: area average

Dennis Shea shea at ucar.edu
Fri Aug 17 16:13:46 MDT 2018


Changing
   var    = SPL2_E_f->$var_path$
    lat     = SPL2_E_f->$lat_path$
    lon    = SPL2_E_f->$lon_path$

To:
    var   := SPL2_E_f->$var_path$
    lat    := SPL2_E_f->$lat_path$
    lon   := SPL2_E_f->$lon_path$

Will allow variables of different sizes to be input.

===
The figure you included clearly show multiple satellite swaths. Likely, one
swath per file.

**Each swath spanned different areas on the globe**
 Most of the swaths do *NOT* include your region of interest
*.*===

;---Determine domain
;       Ajabshir(37.5,45.85)
;       Azarshahr(37.75,45.98)
;       Domain(37.80/45.8/37.45/46.03)  (N/W/S/E)
;                       --37.80-----
;                       |                       |
;                 45.8            46.03
;                       |                       |
;                       ---37.45----

;---Following are from email Dennis Shea:
    latS                        = 37.45
    latN                        = 37.80
    lonL                        = 45.8
    lonR                        = 46.03

=========================
What do you expect?

On Fri, Aug 17, 2018 at 2:27 PM, Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com
> wrote:

> Dears,
> Pardon me to forward my questions twice. May I ask how using attached
> script for multiple files?
>
> Sincerely
> Ehsan
>
> ----- Forwarded Message -----
> *From:* Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com>
> *To:* Ncl-talk <ncl-talk at ucar.edu>; alesall at iri.columbia.edu <
> alesall at iri.columbia.edu>
> *Sent:* Tuesday, August 14, 2018, 7:03:20 PM GMT+4:30
> *Subject:* Re: [ncl-talk] Fw: area average
>
> Thank you for your helps.
> Dear Alessandra
> Thank you for you comments. A reference of my data could be this page (
> https://nsidc.org/data/SPL2SMP_E/versions/2). However Dennis's comments about
> my data are true. I've attached a picture of these data for date 1 April
> 2018.
> Also the result of PrintVarSummary(Var):
>
>     Variable: var
>     Type: float
>     Total Size: 1124096 bytes
>                 281024 values
>     Number of Dimensions: 1
>     Dimensions and sizes:   [DIM_000 | 281024]
>     Coordinates:
>     Number Of Attributes: 6
>       _FillValue :  -9999
>       coordinates : /Soil_Moisture_Retrieval_Data/latitude
> /Soil_Moisture_Retrieval_Data/longitude
>       long_name :   Representative soil moisture measurement for the Earth
> based grid cell.
>       units :       cm**3/cm**3
>       valid_max :   0.5
>       valid_min :   0.02
>
> Please let me know if I should explain more.
>
> I've used Dennis's suggestion, and it worked well. However may I know 2
> extra points:
> 1- I've tried to use attached script to get average from multiple files,
> but an error as below has occurred:
>
> fatal:Dimension sizes of left hand side and right hand side of assignment
> do not match
> fatal:["Execute.c":8637]:Execute: Error occurred at or near line 61 in
> file SPL2SMP_E_areaave_mod1.ncl
>
> This error could be expected because of the below lines in loop:
>     var = SPL2_E_f->$var_path$
>     lat = SPL2_E_f->$lat_path$
>     lon = SPL2_E_f->$lon_path$
>     sm_avg(i)                    = avg(var(ism))
>
> However using ":=" couldn't help so.
> May I ask help again about using above lines in loop.
>
> 2- May I ask how compute areal average of these data? I mean which
> function of ncl could help me about that (just for curiously!).
>
> Sincerely
> Ehsan
>
> On Monday, August 13, 2018, 8:23:47 AM GMT+4:30, Dennis Shea <
> shea at ucar.edu> wrote:
>
>
> The data values on  '*SMAP_L2_*SM_P_E_*h5' are from satellite *swaths*. "
> *L2*"
>
> The data variable ("soil_moisture") and the location variables: "latitude"
> and  "longitude" are all *one-dimensional*. It looks like the swath
> values and the associated latitude & longitude locations were just made
> into one-dimensional arrays.
>
> Your code comments the following:
>
> */;*
>                             --37.80-----
>                         |                       |
>                    45.8                  46.03
>                         |                       |
>                             ---37.45----
> *;/*
>
> There is *no need *to perform and areal average when using such a small
> area [specifically such a small latitudinal range]. .The following should
> suffice:
>
>        latS = 37.45
>        latN = 37.80
>        lonL = 45.8
>        lonR = 4603
>
>       sm    = f->soil_moisture   ; [*]
>       lat     = f->latitude             ; [*]
>       lon    = f->longitude          ; [*]
>
>        ism = *ind
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/ind.shtml>*(*.not*
> *.ismissing* <http://.ismissing>(sm) .and. lat.ge.latS   .and.
> lat.le.latN \
>                                                        .and. lon.ge.lonL
> .and. lon.le.lonR)
>        npts = *dimsizes*
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/dimsizes.shtml>(ism)
>
>        sm_avg = *avg*
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/avg.shtml>(sm(ism))
> ============================== ====================
> Side points:
>
> Alessandra's suggestions would be appropriate if the original data were on
> a rectilinear grid and then had been placed onto 1D arrays. Then, if you
> knew the appropriate nlat and mlon sizes you could have used
>
>       xGrid = *conform_dims
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/conform_dims.shtml>*(
> (/nlat,mlon/), x1d)   ; (nlat,mlon); similar to *onedtond*
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/onedtond.shtml>
>
> ===
> The documentation for *wgt_areaave
> <http://www.ncl.ucar.edu/Document/Functions/Built-in/wgt_areaave.shtml>*
> should be clarified. This function expects a *rectilinear* grid.
>
> ======
> On Sun, Aug 12, 2018 at 4:13 PM, alesall <alesall at iri.columbia.edu> wrote:
>
>
> Hi Ehsan,
>
> can you reorganize your data so that it is 2-dimensional, in latitude and
> longitude?
> If your “var” measures something which varies in latitude and longitude,
> you need to figure out how the data in it is ordered/organized.
> Is the fastest dimension longitude or latitude?
> You can use functions like “onedtond” to break down a vector of length
> nlon x nlat into a matrix of dimensions nlon, nlat.
> And then assign names/values of latitude and longitude to the dimensions
> accordingly.
>
> warm regards
>
>
>
>
> --
> Alessandra Giannini
> IRI for Climate and Society - The Earth Institute at Columbia University
> P.O. Box 1000, Palisades NY 10964-8000
> phone/fax: +1 845 680-4473/4864 - email: alesall at iri.columbia.ed u
> <alesall at iri.columbia.edu>
>
> On Aug 12, 2018, at 3:16 PM, Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com>
> wrote:
>
> Hi,
> I'm sorry to forward my question again! Do you think it is possible doing
> this or I should leave it?
> I'll be thankful for any suggestion.
>
> Sincerely
> Ehsan
>
>
> ----- Forwarded Message -----
> *From:* Ehsan Taghizadeh <ehsantaghizadeh at yahoo.com>
> *To:* Ncl-talk <ncl-talk at ucar.edu>
> *Sent:* Thursday, August 2, 2018, 8:00:22 PM GMT+4:30
> *Subject:* area average
>
> Hi,
> I've tried to compute area average using "wgt_areaave". However it seems
> my data are 1 dimensional. So the following error occurred, as it is
> expected:
>       fatal:wgt_areaave: the input array must have at least 2 dimensions
>
> Could I ask any help to have are average from 1 dimension data?!
>
> I attached my script and put input files (SPL2SMP_E.tar) in ftp. Other
> information are:
> $ ncl -V
>      6.5.0
> $ uname -a
>      Linux localhost.localdomain 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec
> 6 23:06:41 UTC 2016 x86_64         x86_64 x86_64 GNU/Linux
> $ gcc --version
>      gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
>      Copyright (C) 2015 Free Software Foundation, Inc.
>
> I'll be thankful for any help.
>
> Sincerely
> Ehsan
> <SPL2SMP_E_areaave.ncl>_______ ______________________________ __________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailma n/listinfo/ncl-talk
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
> ______________________________ _________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailma n/listinfo/ncl-talk
> <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>
>
>
> _______________________________________________
> 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/20180817/8405628e/attachment.html>


More information about the ncl-talk mailing list