Page 1 of 1

related to TRMM (2A12) vertical profile data

Posted: Wed Mar 17, 2021 6:55 am America/New_York
by yernisrinivasnekkali9
Sir,
We are trying to use TRMM (2A12) vertical profiling of hydrometeors and Latent heating level2 data from 2013 to 2014. In documentation, I observed that it was vertical profiling data (Lon X Lat X nlayers). But, when I was downloaded, it shows only 2d data (Lon X Lat) like below attached file (highlighted in red color). Is my extraction is wrong ? or need to fallow any other criteria?

Re: related to TRMM (2A12) vertical profile data

Posted: Wed Mar 17, 2021 9:46 am America/New_York
by GES DISC - zliu
Dear TRMM user,

Thank you for your inquiry about 2A12.

For 2A12, all hydrometeor profiles over land are set to missing in V7 2A12 due to large uncertainty (see the FAQ below):

https://disc.gsfc.nasa.gov/information/ ... %20land%3F

Have you tried the new version,

https://disc.gsfc.nasa.gov/datasets/GPM ... 05/summary (graupel is missing)

--------------------------------------------------------------------------------------------
Extracting 2A12 profiles:

From the 2A12 filespec pdf, https://arthurhou.pps.eosdis.nasa.gov/D ... RMM.V7.pdf p. 119 (sample code available in Fortran and C):

Profile Value = clusterScale * cluster(S,F,L,C)
clusterScale (4-byte float, array size: nspecies x npixel x nscan)
cluster(S,F,L,C):
Where:
S = species(1-6)
1 = cloud water content
2 = rain water content
3 = cloud ice content
4 = snow water content
5 = graupel water content
6 = latent heat
F = freezingHeightIndex
L = profile level (1-28) Top of each level specified in HgtLayerTop
C = clusterNumber
Say, you want a cloud water content (S=1) profile at a location, then S=1. You can get both clusterScale and clusterNumber (or C) values at a location (pixel, scan).
Now, only F is left if you want the whole profile (L: 1-28). You can get F from freezingHeightIndex since you know the location (pixel, scan) already.
Finally, use cluster(S, F, L, C) to get the profile (1-28) and use clusterScale to scale it or, clusterScale * cluster(S,F,L,C).

For the new version, it is similar, ftp://gpmweb2.pps.eosdis.nasa.gov/pub/G ... ec.GPM.pdf (p. 1187)

Hope these help.

Re: related to TRMM (2A12) vertical profile data

Posted: Thu Mar 18, 2021 2:35 am America/New_York
by yernisrinivasnekkali9
Thank you for your quick reply. is there any procedure to extract data by using python, ncl, or matalb, except C and Fortran.

Re: related to TRMM (2A12) vertical profile data

Posted: Thu Mar 18, 2021 8:43 am America/New_York
by GES DISC - zliu
No, only a recipe I put together few years ago to extract the profile data from 2A12 (long, but no programming is needed):

Note: you could bypass Step 1 in this example since I got the pixel location already.

Step 1. Obtain the TMI orbit scan and pixel info. You can use PPS THOR,

http://pps.gsfc.nasa.gov/thorrelease.html

Or go to PPS STORM, https://storm.pps.eosdis.nasa.gov to locate your orbit of interest and use the online version of THOR. [Don’t need to download data]

Here I am using a case from Hurricane Katrina on Aug. 29 2005 (about to make a landfall near New Orleans).

I got, (scan=1679, pixel=138), (lat=27.9467, lon=-88.9509), and (orbit number=44376 for Aug. 29, 2005)

Step 2. Obtain Cluster Number (C) and Freezing Index (F)

With the info from 1), go to OPeNDAP,

https://disc2.gesdisc.eosdis.nasa.gov/o ... 7.HDF.html


Fill in,

Latitude: nscan: 1679:1:1679 npixel: 138:1:138
longitude: nscan: 1679:1:1679 npixel: 138:1:138

clusterNumber: nscan: 1679:1:1679 npixel: 138:1:138 nspecies: 0:1:0 (We need to decide a specie or profile. Here we use cloud water content which is 0 in OPeNDAP or 1 in the file spec document)
freezingHeightIndex: nscan: 1679:1:1679 npixel: 138:1:138

Go all the way to the top of the OPeNDAP page and click on “Get ASCII.” You will get Cluster Number and Freezing Index from the output window. In this case, C=21; F=12

Step 3. Obtain Cluster

In the OPeNDAP page, type in these for “cluster”

ncluster: 20:1:20 nlayer 0:1:27 (if you want all the layers) nfindex: 11:1:11 nspecies: 0:1:0

Click on “Get ASCII” and here is the output,
Dataset: 2A12.20050829.44376.7.HDF
cluster[0][0][0], 0.036419
cluster[0][1][0], 0.086931
cluster[0][2][0], 0.095083
cluster[0][3][0], 0.08618
cluster[0][4][0], 0.079365
cluster[0][5][0], 0.078292
cluster[0][6][0], 0.081402
cluster[0][7][0], 0.079872
cluster[0][8][0], 0.075854
cluster[0][9][0], 0.075083
cluster[0][10][0], 0.068378
cluster[0][11][0], 0.051372
cluster[0][12][0], 0.035922
cluster[0][13][0], 0.027233
cluster[0][14][0], 0.020583
cluster[0][15][0], 0.013739
cluster[0][16][0], 0.006286
cluster[0][17][0], 0.001509
cluster[0][18][0], 0.000415
cluster[0][19][0], 7.8e-05
cluster[0][20][0], 4e-06
cluster[0][21][0], 0
cluster[0][22][0], 0
cluster[0][23][0], 0
cluster[0][24][0], 0
cluster[0][25][0], 0
cluster[0][26][0], 0
cluster[0][27][0], 0
Latitude[0], 27.9467
Longitude[0], -88.9509
freezingHeightIndex[0], 12
clusterNumber[0][0], 21

Step 4. Obtain Cluster Scale

In the OPeNDAP page, type in these in “clusterScale”

nscan: 1679:1:1679 npixel: 138:1:138 nspecies: 0:1:0

Click on “Get ASCII” again and you will get,
clusterScale[0][0], 2.04148
Note: you can combine Steps 3 and 4 together (I separate them here for simplicity)

Step 5. Apply the cluster scale to cluster

Profile value = clusterScale*cluster