source: trunk/src/get_tao_netcdf.sh @ 199

Last change on this file since 199 was 199, checked in by pinsard, 11 years ago

fix svn properties

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