source: trunk/src/get_pirata_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: 4.8 KB
Line 
1#! /bin/sh
2#+
3#
4# .. program:: get_pirata_netcdf.sh
5#
6# .. _get_pirata_netcdf.sh:
7#
8# ====================
9# get_pirata_netcdf.sh
10# ====================
11#
12# SYNOPSIS
13# ========
14#
15# .. code-block:: bash
16#
17#    get_pirata_netcdf.sh
18#
19# DESCRIPTION
20# ===========
21#
22# ``get_pirata_netcdf.sh`` get PIRATA 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_pirata_netcdf.log.{YYYYMMDDTHHMMSS}Z`.
47#
48#     .. graphviz::
49#
50#        digraph get_pirata_netcdf {
51#
52#           pirata_ref [shape=diamond,
53#           fontname=Courier,
54#           label="ftp://ftp.pmel.noaa.gov/cdf/sites/daily/*_*_dy.cdf"];
55#
56#           file_pirata [shape=ellipse,
57#           fontname=Courier,
58#           label="${PROJECT_ID}/*_*_dy.cdf"];
59#
60#           get_pirata_netcdf [shape=box,
61#           fontname=Courier,
62#           color=blue,
63#           URL="http://forge.ipsl.jussieu.fr/tropflux/browser/trunk/src/get_pirata_netcdf.sh"
64#           label="${PROJECT}/src/get_pirata_netcdf.sh"];
65#
66#           {pirata_ref} -> {get_pirata_netcdf} -> {file_pirata}
67#
68#          }
69#
70# EXAMPLES
71# ========
72#
73# You don't have any PIRATA reference data, you just have to run this tool :
74#
75# .. code-block:: bash
76#
77#    get_pirata_netcdf.sh
78#
79# And look at log file with :
80#
81# .. code-block:: bash
82#
83#    tlogd.sh get_pirata_netcdf
84#
85# and of course on files in ${PROJECT_ID}.
86#
87# SEE ALSO
88# ========
89#
90# :ref:`guide data PIRATA <data_in_pirata>`
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 20110421T125622Z aedon.locean-ipsl.upmc.fr (Darwin)
109#
110#   * consolidation
111#
112# - fplod 20101213T160729Z 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"
196sitelist="          0n0e"
197sitelist="${sitelist} 10s10w 6s10w 0n10w"
198sitelist="${sitelist} 0n23w 4n23w 12n23w 21n23w"
199sitelist="${sitelist} 19s34w 14s32w 8s30w 0n35w"
200sitelist="${sitelist} 4n38w 8n38w 12n38w 15n38w 20n38w"
201#
202locref="ftp://ftp.pmel.noaa.gov/cdf/sites/daily"
203#
204list_url=""
205#
206# build URL = f(site,var)
207for site in ${sitelist}
208do
209    for var in ${varlist}
210    do
211        list_url="${list_url} ${locref}/${var}${site}_dy.cdf"
212    done
213done
214unset site
215unset var
216unset varlist
217unset sitelist
218unset locref
219#
220# if file is not already in ${PROJECT_ID}, get it
221for url in ${list_url}
222do
223    file=${PROJECT_ID}/$(basename ${url})
224    if [ ! -f ${file} ]
225    then
226        wget --tries=1 --no-verbose -P ${PROJECT_ID} \
227        --user=taopmelftp \
228        --password=G10b@LCh@Ng3 \
229        ${url} >> ${log} 2>&1
230        wget_status=${?}
231        if [ ${wget_status} -ne 0 ]
232        then
233            echo "${command} : eee : ${url} not found" >> ${log} 2>&1
234            # ++ exit 1
235        else
236            echo "${command} : iii : ${url} found" >> ${log} 2>&1
237        fi
238        unset wget_status
239    else
240        echo "iii : ${file} exists" >> ${log}
241    fi
242done
243unset file
244unset url
245unset list_url
246#
247unset command
248unset log
249unset hostname
250unset usage
251#
252# end
253set
254exit 0
Note: See TracBrowser for help on using the repository browser.