# Changes between Version 56 and Version 57 of udg/ecoms

Ignore:
Timestamp:
Apr 1, 2013 5:29:32 AM (9 years ago)
Comment:

--

### Legend:

Unmodified
 v56 The ''SPECS-EUPORIAS Data Portal'' can be accessed through the '''Data Portal URL''' provided in the abstract. First of all, an authentication dialog will request a valid user name and password. [[Image(loginTHREDDS.png,align=center,width=320px,title=Authentication dialog)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width = 0.8 \linewidth]{loginTHREDDS.png} \caption{Authentication dialog} \label{fig:login} \end{center} \end{figure} }}} Afterwards, the different datasets described in [#s.thredds TDS section] are listed as links in the web browser window. [[Image(fig01.png,align=center,width=320px,title=Catalog of the EUPORIAS-SPECS System4 datasets. Note that although they only include a few variables, their size range from one to four Terabytes)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width = 0.85 \linewidth]{fig01.png} \caption{Catalog of the EUPORIAS-SPECS System4 datasets. Note that although they only include a few variables, their size range from one to four Terabytes. } \label{fig:dir} \end{center} \end{figure} }}} By clicking in any of the datasets, a new window will appear providing information on the variables and geospatial and time coverages, and offering different options for data access and/or visualization. [[Image(fig02.png,align=center,width=320px,title=Detail of a particular dataset with information on the included variables and geospatial and time coverages. The different options for data access and visualization are also shown.)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width=0.8 \linewidth]{fig02.png} \caption{Detail of a particular dataset with information on the included variables and geospatial and time coverages. The different options for data access and visualization are also shown.} \label{fig:mainwin} \end{center} \end{figure} }}} Currently, only the OPeNDAP access service is fully operative in the portal. Therefore, in this example, we will illustrate the use of this service, which allows selecting time/spatial data slices from the OPeNDAP data access form shown in figure and downloading the resulting data in both ''ASCII'' and ''Binary'' formats. [[Image(openDAPwindow.png,align=center,width=320px,title=Detail of the OPeNDAP dataset access form for a particular dataset.)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width=0.8 \linewidth]{openDAPwindow.png} \caption{Detail of the OPeNDAP dataset access form for a particular dataset.} \label{fig:opendapwin} \end{center} \end{figure} }}} Note that, as explained before, the variables provided by the data portal (e.g. minimum temperature) are stored as gridsets. Thus, in addition to these variables, also auxiliary coordinate variables (lat, lon, run, time, member) should be handled for geo-temporal data referencing ([attachment:openDAPwindow.png see Figure]). Moreover, three time coordinates are included as referece for different grid variables because they are defined for different forecast times (one extra time for precipitation and different temporal resolution for mean sea level pressure). Note that this highly complicates the direct analysis of the data and, hence, this options is only recommend for data exploration. In the following we show how to use this service to explore the structure of the datasets and to obtain simple pieces of information in ASCII format. By default, if no specifications are given in the different subsetting boxes of the OpenDAP form, the whole data on the whole spatio/temporal and member ranges of the dataset would be accessed. However, this option will raise an error due to the large size of the request (the maximum size of a single request has been set to 100 Mbytes in the ''SPECS-EUPORIAS data portal'' for the sake of multi-connection efficiency). The basic steps to retrieve subsets of data are the following: 1. To select a variable click on the checkbox to its left. 1. To constrain the variable, edit the information that appears in the text boxes below the variable. This is a   vector of integers indicating index positions of length three, with the following order: [start:stride:end]. 1. To get ''ASCII'' or ''binary'' values for the selected variables, click on the ''Get ASCII'' or ''Get Binary'' buttons of the ''Action'' field. Note that the URL displayed in the ''Data URL'' field is updated as you select and/or constrain variables. The URL in this field can be cut and pasted in various OPeNDAP clients. The main disadvantage of the OPeNDAP service from the end-user point of view is that the specifications for subsetting dimensions are not given in their original magnitudes (i.e., latitudes and longitudes are not given in decimal degrees), but by the indexes of their position along their respective axes (note that first index value is always 0). Thus, to find out the indexes for the desired selection, we need to dump and analyze the particular values defined in the coordinate variable. For instance, this figure shows the 241 values defined for the lat (latitude) coordinate, as provided by the ''Get ASCII'' option (selecting the corresponding check-box). [[Image(latlonDump.png,align=center,width=320px,title=Text file displaying the values for the lat (latitude) coordinate variable.)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width=\linewidth]{latlonDump.png} \caption{Text file displaying the values for the \texttt{lat} (latitude) coordinate variable.} \label{fig:latlonDump} \end{center} \end{figure} }}} Using these facilities it can be obtained after some calculations that the closest lat and lon coordinates for a particular location of interest (e.g. Madrid) are 66 and 475, respectively. Thus, the time series for Madrid corresponding to the example described in the previous section (minimum temperature forecasts for January with one-month lead time, i.e. from the simulations started the first of December) could be requested as shown in Figure [[Image(opendapquery.png,align=center,width=320px,title=Detail of the query from the OPeNDAP dataset access form to retrieve a subset (a time series for a single gridbox) of minimum temperature.)]] {{{#!comment \begin{figure}[H] \begin{center} \includegraphics[width= 0.95 \linewidth]{opendapquery.png} \caption{Detail of the query from the OPeNDAP dataset access form to retrieve a subset (a time series for a single gridbox) of minimum temperature.} \label{fig:opendapquery} \end{center} \end{figure} }}} Note that the indices selected for the run coordinate correspond to the December initilizations (index positions 11, 23,...; note that indexes start in 0) and for the time coordinate correspond to January (positions, 31 to 62, in days after the run time). Note that the proper use of this service requires a full understanding of the data structure and, therefore, it is only advised for data exploration. = Accessing to the Data portal using Python (Pydap version) = #ex.pydap [[NoteBox(warn,This section needs revision)]] {{{#!csh [user@host ~]$pip install Pydap ........................................................................ [user@host ~]$ python Python 2.7.2 (default, Mar  3 2012, 10:45:44) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> }}} {{{#!python >>> from pydap.client import open_url >>> dataset = open_url('http://username:password@www.meteo.unican.es/tds5/dodsC/system4/System4_Seasonal_15Members.ncml') >>> print type(dataset) >>> print dataset.keys() ['lat', 'lon', 'run', 'time', 'time1', 'time2', 'member', 'Maximum_temperature_at_2_metres_since_last_24_hours_surface', 'Minimum_temperature_at_2_metres_since_last_24_hours_surface', 'Mean_temperature_at_2_metres_since_last_24_hours_surface', 'Total_precipitation_surface', 'Mean_sea_level_pressure_surface'] >>> MN2T24 = dataset['Minimum_temperature_at_2_metres_since_last_24_hours_surface'] >>> print MN2T24.dimensions ('member', 'run', 'time', 'lat', 'lon') >>> print MN2T24.shape (15, 360, 215, 241, 480) >>> arr = MN2T24[0,11:360:12,31:62,66,475] >>> print numpy.squeeze(numpy.mean(arr,2)) [ 270.79171753  273.29437256  271.56661987  271.03707886  271.82745361 272.49279785  271.48086548  268.59121704  271.53125     273.82156372 270.99401855  274.23626709  270.99328613  271.56115723  273.98986816 270.50756836  272.45046997  270.65560913  271.31182861  272.77200317 273.4359436   271.85021973  273.39648438  274.16384888  269.98248291 271.30166626  273.11950684  271.27301025  272.29147339  270.46688843] }}} = Accessing to the Data portal using Octave = #ex.octave