G5NR Data Access Guide: Difference between revisions

Pchakrab (talk | contribs)
FTP is not supported anymore
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rightTOC}}
For questions or comments please send an email to g5nr at lists dot nasa dot gov.
For questions or comments please send an email to g5nr at lists dot nasa dot gov.


Line 7: Line 8:
GEOS-5 files are generated with the Network Common Data Form (NetCDF-4) library, which uses Hierarchical Data Format Version 5 (HDF-5) as the underlying format. NetCDF-4 is an open-source product of UCAR/Unidata (https://www.unidata.ucar.edu/software/netcdf/) and HDF-5 is developed by the HDF Group (http://www.hdfgroup.org/). One convenient method of reading GEOS-5 files is to use the netCDF library, but the HDF-5 library can also be used directly.
GEOS-5 files are generated with the Network Common Data Form (NetCDF-4) library, which uses Hierarchical Data Format Version 5 (HDF-5) as the underlying format. NetCDF-4 is an open-source product of UCAR/Unidata (https://www.unidata.ucar.edu/software/netcdf/) and HDF-5 is developed by the HDF Group (http://www.hdfgroup.org/). One convenient method of reading GEOS-5 files is to use the netCDF library, but the HDF-5 library can also be used directly.
   
   
Each GEOS-5 file contains a collection of geophysical quantities that we will refer to as "fields" or "variables" as well as a set of coordinate variables that contain information about the grid coordinates. The variables as well as the complete structure of the file can be quickly listed using common utilities like <code>ncdump</code> or <code>h5dump</code>.
Each GEOS-5 file contains a '''collection''' of geophysical quantities that we will refer to as "fields" or "variables" as well as a set of coordinate variables that contain information about the grid coordinates. The variables as well as the complete structure of the file can be quickly listed using common utilities like <code>ncdump</code> or <code>h5dump</code>.


For more details about File Spec, please see [[File:G5NR-Ganymed-7km_FileSpec-ON6-V1.0.pdf]].
For more details about File Spec, please see [[File:G5NR-Ganymed-7km_FileSpec-ON6-V1.0.pdf]].
Line 15: Line 16:
== Download data files ==
== Download data files ==


===== [[Recipe: Retrieve (global) data from FTP server|Retrieve (global) data from FTP server]] =====
==== Global data ====
===== [[Recipe: Retrieve data (global/subset) using download tool|Retrieve data (global/subset) using download tool]] =====
 
== Read downloaded data files ==
==== [[Recipe: Fortran program to read data from downloaded file|Fortran program to read data from downloaded file]] ====
==== [[Recipe: C program to read data from downloaded file|C program to read data from downloaded file]] ====
==== [[Recipe: Python program to read data from downloaded file|Python program to read data from downloaded file]] ====
 
== OPeNDAP client access ==
 
OPeNDAP is a data server architecture that allows users to use data files that are stored on remote computers with their favorite analysis and visualization tools. Opening an OPeNDAP file is as easy replacing the file name in the client software by an OPeNDAP URL. All G5NR collections that are provided by ftp/download-tool are also available on the OPeNDAP server
 
http://opendap.nccs.nasa.gov/dods/OSSE/G5NR/Ganymed/7km
 
===== [[Recipe: Fortran program as OPeNDAP client|Fortran program as OPeNDAP client]] =====
===== [[Recipe: C program as OPeNDAP client|C program as OPeNDAP client]] =====
 
===== [[Recipe: Python program as OPeNDAP client|Python script as OPeNDAP client]] =====


<!--
<!--
===== [[Recipe: C program as OPeNDAP client|C program as OPeNDAP client]] =====
===== [[Recipe: Retrieve (global) data from FTP server|FTP]] =====
-->


== Client access ==
===== [[Recipe: Retrieve (global) data from HTTPS server|HTTPS]] =====


In the following, we read the field 'T' (air temperature) from collection ''inst01hr_3d_T_Cv'', compute its min/max and if applicable, plot it. We give an example for each of the two cases
==== Data subsets ====
===== [[Recipe: Retrieve data subsets using download tool|Download tool]] =====


# a file has been downloaded either via ftp or using the download tool
== Read downloaded data files ==
# using the OPenDAP server
==== [[Recipe: Fortran program to read data from downloaded file|Fortran program]] ====
==== [[Recipe: C program to read data from downloaded file|C program]] ====
==== [[Recipe: Python program to read data from downloaded file|Python script]] ====
==== [[Recipe: Matlab program to read data from downloaded file|Matlab script]] ====
==== [[Recipe: IDL program to read data from downloaded file|IDL script]] ====
==== [[Recipe: Visualize downloaded data using Panoply|Panoply]] ====


For each case, we compute min/max for both
== OPeNDAP access ==
# global temperature
# temperature over North America


==== Programming ====
OPeNDAP is a data server architecture that allows users to use data files that are stored on remote computers with their favorite analysis and visualization tools. Opening an OPeNDAP file is as easy replacing the file name in the client software by an OPeNDAP URL. All G5NR collections that are provided by https/download-tool are also available on the OPeNDAP server


===== [[G5NR data access using C|C]] =====
https://opendap.nccs.nasa.gov/dods/OSSE/G5NR/Ganymed/7km


===== Fortran =====
===== [[Recipe: Fortran program as OPeNDAP client|Fortran client]] =====
 
===== [[Recipe: C program as OPeNDAP client|C client]] =====
For reading a downloaded file or accessing directly via OPeNDAP using Fortran, please see [[G5NR data access using Fortran|this]] page.
===== [[Recipe: Python program as OPeNDAP client|Python client]] =====
===== [[Recipe: Matlab program as OPeNDAP client|Matlab client]] =====
===== [[Recipe: IDL program as OPeNDAP client|IDL client]] =====
===== [[Recipe: Visualize OPeNDAP data using Panoply|Panoply]] =====
<!--


===== Shmem example =====
===== Shmem example =====
==== Free clients ====
In this section we read air temperature, compute it min/max (as with the 'programming' examples) and display the surface air temperature.
===== Python =====
====== pygrads ======


===== R =====
===== R =====


This example requires the [http://cran.r-project.org/web/packages/ncdf4/index.html ncdf4] and [http://cran.r-project.org/web/packages/rworldmap/index.html rworldmap] packages.
This example requires the [https://cran.r-project.org/web/packages/ncdf4/index.html ncdf4] and [https://cran.r-project.org/web/packages/rworldmap/index.html rworldmap] packages.


<syntaxhighlight lang="rsplus">
<syntaxhighlight lang="rsplus">
Line 78: Line 64:
> jm <- 361
> jm <- 361
> lm <- 72
> lm <- 72
> nc <- nc_open("http://opendap.nccs.nasa.gov:9090/dods/OSSE/GEOS-5.12/BETA9/0.5000_deg/inst/inst01hr_3d_T_Cv")
> nc <- nc_open("https://opendap.nccs.nasa.gov:9090/dods/OSSE/GEOS-5.12/BETA9/0.5000_deg/inst/inst01hr_3d_T_Cv")
< t <- ncvar_get(nc,"t",start=c(1,1,1,37),count=c(im,jm,lm,1))
< t <- ncvar_get(nc,"t",start=c(1,1,1,37),count=c(im,jm,lm,1))
> str(t)
> str(t)
Line 92: Line 78:
===== IDV =====
===== IDV =====


[http://www.unidata.ucar.edu/software/idv/ IDV] is an OPeNDAP tool that can access and display the nature run data. In our OPenDAP server, all files are time aggregated, so they appear as a single dataset for each location.
[https://www.unidata.ucar.edu/software/idv/ IDV] is an OPeNDAP tool that can access and display the nature run data. In our OPenDAP server, all files are time aggregated, so they appear as a single dataset for each location.


This is an example to open and display the field 'T' (air temperature) from the collection 'inst01hr_3d_T_Cv'. The OPenDAP URL for this dataset is http://opendap.nccs.nasa.gov:80/dods/OSSE/GEOS-5.12/BETA9/0.5000_deg/inst/inst01hr_3d_T_Cv. The following steps are valid for IDV version 5.0u1 running on a Linux desktop.
This is an example to open and display the field 'T' (air temperature) from the collection 'inst01hr_3d_T_Cv'. The OPenDAP URL for this dataset is https://opendap.nccs.nasa.gov:80/dods/OSSE/GEOS-5.12/BETA9/0.5000_deg/inst/inst01hr_3d_T_Cv. The following steps are valid for IDV version 5.0u1 running on a Linux desktop.


From the 'Dashboard' panel
From the 'Dashboard' panel
Line 102: Line 88:
* Select Field Selector and choose the 3D field'air_temperature'. The 'Times' tab lists all the available levels and times for this data. At this point, one can select specific times, level and regions (subsetting) from the 'Times' and 'Level' and 'Region' tabs. Click on 'Create Display'.
* Select Field Selector and choose the 3D field'air_temperature'. The 'Times' tab lists all the available levels and times for this data. At this point, one can select specific times, level and regions (subsetting) from the 'Times' and 'Level' and 'Region' tabs. Click on 'Create Display'.


==== Proprietary clients ====
===== Matlab =====


===== IDL =====
-->
-->