source: trunk/src/get_rama_netcdf.sh @ 81

Last change on this file since 81 was 50, checked in by pinsard, 13 years ago

replace TROPFLUX by PROJECT

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