source: trunk/src/get_tao_netcdf.sh

Last change on this file was 204, checked in by pinsard, 10 years ago

fix thanks to coding rules; typo

  • Property svn:keywords set to Id URL
File size: 5.3 KB
Line 
1#! /bin/sh
2#+
3#
4# .. program:: get_tao_netcdf.sh
5#
6# .. _get_tao_netcdf.sh:
7#
8# =================
9# get_tao_netcdf.sh
10# =================
11#
12# SYNOPSIS
13# ========
14#
15# .. code-block:: bash
16#
17#    get_tao_netcdf.sh
18#
19# DESCRIPTION
20# ===========
21#
22# ``get_tao_netcdf.sh`` get TAO reference files
23#
24# bf
25#   buoyancy flux
26# d
27#   sigma-theta
28# dyn
29#   dynamic height
30# emp
31#   e-p
32# iso
33#   20C depth
34# met
35#   wind (u,v,speed,direction),  airT, hum rel, SST   (= w + airt + rh)
36# pos
37#   lon, lat
38# rad
39#   shortwave down
40# rf
41#   rain heat flux
42# w
43#   wind
44#
45# Log file is written on
46# :file:`${PROJECT_LOG}/get_tao_netcdf.log.{YYYYMMDDTHHMMSS}Z`.
47#
48#     .. graphviz::
49#
50#        digraph get_tao_netcdf {
51#
52#           tao_ref [shape=diamond,
53#           fontname=Courier,
54#           label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"];
55#
56#           file_tao [shape=ellipse,
57#           fontname=Courier,
58#           label="${PROJECT_ID}/*_*_dy.cdf"];
59#
60#           get_tao_netcdf [shape=box,
61#           fontname=Courier,
62#           color=blue,
63#           URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/get_tao_netcdf.sh"
64#           label="${PROJECT}/src/get_tao_netcdf.sh"];
65#
66#           {tao_ref} -> {get_tao_netcdf} -> {file_tao}
67#
68#          }
69#
70# EXAMPLES
71# ========
72#
73# You don't have any TAO reference data, you just have to run this tool :
74#
75# .. code-block:: bash
76#
77#    get_tao_netcdf.sh
78#
79# And look at log file with :
80#
81# .. code-block:: bash
82#
83#    tlogd.sh get_tao_netcdf
84#
85# and of course on files in ${PROJECT_ID}.
86#
87# SEE ALSO
88# ========
89#
90# :ref:`guide data TAO <data_in_tao>`
91#
92# :ref:`project_profile.sh`
93#
94# TODO
95# ====
96#
97# list of variables and sites in DESCRIPTION
98#
99# do we really need all these variables and sites
100#
101# study wget status (no exit now on non null wget status)
102#
103# EVOLUTIONS
104# ==========
105#
106# $Id$
107#
108# - fplod 20110421T154046Z aedon.locean-ipsl.upmc.fr (Darwin)
109#
110#   * consolidation
111#
112# - fplod 20101213T161152Z aedon.locean-ipsl.upmc.fr (Darwin)
113#
114#   * minimal header
115#
116# - jv 2008
117#
118#   * creation
119#
120#-
121system=$(uname)
122case "${system}" in
123    AIX|IRIX64)
124        echo "www : no specific posix checking"
125    ;;
126    *)
127        set -o posix
128    ;;
129esac
130unset system
131#
132LANG=POSIX
133#
134command=$(basename ${0})
135log_date=$(date -u +"%Y%m%dT%H%M%SZ")
136#
137usage=" Usage : ${command}"
138#
139hostname=$(hostname)
140#
141# default
142# N.A. because no parameters
143#
144set -u
145#
146# test if wget available
147tool=wget
148type ${tool} 1> /dev/null 2>&1
149status=${?}
150if [ ${status} -ne 0 ]
151then
152    echo "${command} : eee : tool ${tool} not found"
153    exit 1
154fi
155unset status
156unset tool
157#
158# check for ${PROJECT_LOG} definition
159if [ "${PROJECT_LOG}" = "" ]
160then
161    echo "${command} : eee : \${PROJECT_LOG} not defined"
162    exit 1
163fi
164#
165# check for ${PROJECT_LOG} existence
166if [ ! -d ${PROJECT_LOG} ]
167then
168    echo "${command} : eee : ${PROJECT_LOG} not found"
169    exit 1
170fi
171#
172# check for permission access on PROJECT_LOG
173if [ ! -x ${PROJECT_LOG} ]
174then
175    echo "${command} : eee : ${PROJECT_LOG} not reachable"
176    exit 1
177fi
178#
179# check for write permission on PROJECT_LOG
180if [ ! -w ${PROJECT_LOG} ]
181then
182    echo "${command} : eee : ${PROJECT_LOG} not writable"
183    exit 1
184fi
185#
186log=${PROJECT_LOG}/$(basename ${0} .sh).log.${log_date}
187echo "[Context]" 1>> ${log}
188echo "command=$(basename ${0})" 1>>${log}
189echo "hostname=${hostname}" 1>> ${log}
190echo "runtime=${log_date}" 1>> ${log}
191echo "log=${log}" 1>> ${log}
192unset log_date
193echo "" 1>> ${log}
194#
195varlist="adcp airt bf bp cur d dyn emp evap heat iso lw lwnet met pos qlat qnet qsen rad rain rf rh s ssd sss sst swnet t tau w"
196#
197sitelist="                                        2n137e 5n137e 8n137e"
198sitelist="${sitelist}                      0n147e 2n147e 5n147e"
199sitelist="${sitelist}        5s156e 2s156e 0n156e 2n156e 5n156e 8n156e"
200sitelist="${sitelist} 8s165e 5s165e 2s165e 0n165e 2n165e 5n165e 8n165e"
201sitelist="${sitelist} 8s180w 5s180w 2s180w 0n180w 2n180w 5n180w 8n180w"
202sitelist="${sitelist} 8s170w 5s170w 2s170w 0n170w 2n170w 5n170w 8n170w"
203sitelist="${sitelist} 8s155w 5s155w 2s155w 0n155w 2n155w 5n155w 8n155w"
204sitelist="${sitelist}        5s140w 2s140w 0n140w 2n140w 5n140w 9n140w"
205sitelist="${sitelist} 8s125w 5s125w 2s125w 0n125w 2n125w 5n125w 8n125w"
206sitelist="${sitelist} 8s110w 5s110w 2s110w 0n110w 2n110w 5n110w 8n110w"
207sitelist="${sitelist} 8s95w  5s95w  2s95w  0n95w  2n95w  5n95w  8n95w "
208#
209locref="ftp://ftp.pmel.noaa.gov/cdf/sites/daily"
210#
211list_url=""
212#
213# build URL = f(site,var)
214for site in ${sitelist}
215do
216    for var in ${varlist}
217    do
218        list_url="${list_url} ${locref}/${var}${site}_dy.cdf"
219    done
220done
221unset site
222unset var
223unset varlist
224unset sitelist
225unset locref
226#
227# if file is not already in ${PROJECT_ID}, get it
228for url in ${list_url}
229do
230    file=${PROJECT_ID}/$(basename ${url})
231    if [ ! -f ${file} ]
232    then
233        wget --tries=1 --no-verbose -P ${PROJECT_ID} \
234        --user=taopmelftp \
235        --password=G10b@LCh@Ng3 \
236        ${url} >> ${log} 2>&1
237        wget_status=${?}
238        if [ ${wget_status} -ne 0 ]
239        then
240            echo "${command} : eee : ${url} not found" >> ${log} 2>&1
241            # ++ exit 1
242        else
243            echo "${command} : iii : ${url} found" >> ${log} 2>&1
244        fi
245        unset wget_status
246    else
247        echo "iii : ${file} exists" >> ${log}
248    fi
249done
250unset file
251unset url
252unset list_url
253#
254unset command
255unset log
256unset hostname
257unset usage
258#
259# end
260set
261exit 0
Note: See TracBrowser for help on using the repository browser.