I’m new to using data from HYCOM and I’m trying to download data from the “GOFS 3.1: 41-layer HYCOM + NCODA Global 1/12° Analysis”. I need the eastward and northward sea velocity from a given bounding box for the period of 1 year. I have a shell script, however, when I tried using it with the OPENDAP access (selecting the variables I need on OPENDAP) I got archives with no data.
I used the URL that OPENDAP gives when you select the variables you’d like on the file on the following shell script. I put the coordinates I wanted for the bounding box and year I’d like to get the data on the shell script.
# Download data for this year
year=2022
# Bounding box
lon_0=-30
lon_1=-48
lat_0=-15
lat_1=-60
product=https://tds.hycom.org/thredds/dodsC/GLBy0.08/expt_93.0/uv3z?depth[0:1:39],lat[0:1:4250],lon[0:1:4499],time[0:1:16568],tau[0:1:16568],water_u[0:1:0][0:1:0][0:1:0][0:1:0],water_v[0:1:0][0:1:0][0:1:0][0:1:0]
# Covers days 1 to 30
x=01
for n in {02..31}
do
echo "1 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-01-${x},${year}-01-${n} ${product} jan${x}.nc
echo "2 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-02-${x},${year}-02-${n} ${product} feb${x}.nc
echo "3 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-03-${x},${year}-03-${n} ${product} mar${x}.nc
echo "4 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-04-${x},${year}-04-${n} ${product} apr${x}.nc
echo "5 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-05-${x},${year}-05-${n} ${product} may${x}.nc
echo "6 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-06-${x},${year}-06-${n} ${product} jun${x}.nc
echo "7 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-07-${x},${year}-07-${n} ${product} jul${x}.nc
echo "8 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-08-${x},${year}-08-${n} ${product} aug${x}.nc
echo "9 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-09-${x},${year}-09-${n} ${product} sep${x}.nc
echo "10 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-10-${x},${year}-10-${n} ${product} oct${x}.nc
echo "11 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-11-${x},${year}-11-${n} ${product} nov${x}.nc
echo "12 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-12-${x},${year}-12-${n} ${product} des${x}.nc
x=${n};
done
# Special case for day 31. Fails silently for months that do not have 31 days.
x=31
n=01
echo "1 - ${x} time,${year}-01-${x},${year}-02-${n}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-01-${x},${year}-02-${n} ${product} jan${x}.nc
echo "2 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-02-${x},${year}-03-${n} ${product} feb${x}.nc
echo "3 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-03-${x},${year}-04-${n} ${product} mar${x}.nc
echo "4 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-04-${x},${year}-05-${n} ${product} apr${x}.nc
echo "5 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-05-${x},${year}-06-${n} ${product} may${x}.nc
echo "6 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-06-${x},${year}-07-${n} ${product} jun${x}.nc
echo "7 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-07-${x},${year}-08-${n} ${product} jul${x}.nc
echo "8 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-08-${x},${year}-09-${n} ${product} aug${x}.nc
echo "9 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-09-${x},${year}-10-${n} ${product} sep${x}.nc
echo "10 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-10-${x},${year}-11-${n} ${product} oct${x}.nc
echo "11 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-11-${x},${year}-12-${n} ${product} nov${x}.nc
next_year=$((year+1))
echo "12 - ${x}"
ncks -v water_u,water_v -d lon,${lon_0},${lon_1} -d lat,${lat_0},${lat_1} -d time,${year}-12-${x},${next_year}-01-${n} ${product} des${x}.nc
Vitória Baldança de Oliveira is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.