forked from NCAR/MPAS-Workflow
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLinkExternalAnalysis.csh
More file actions
executable file
·68 lines (57 loc) · 1.98 KB
/
LinkExternalAnalysis.csh
File metadata and controls
executable file
·68 lines (57 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/csh -f
# Get GFS analysis (0-h forecast) for cold start initial conditions
# Process arguments
# =================
## args
# ArgMesh: str, mesh name, one of model.allMeshes
set ArgMesh = "$1"
# ArgDT: int, valid time offset beyond CYLC_TASK_CYCLE_POINT in hours
set ArgDT = "$2"
set test = `echo $ArgDT | grep '^[0-9]*$'`
set isNotInt = ($status)
if ( $isNotInt ) then
echo "ERROR in $0 : ArgDT must be an integer, not $ArgDT"
exit 1
endif
date
# Setup environment
# =================
source config/builds.csh
source config/experiment.csh
source config/externalanalyses.csh
source config/model.csh
source config/tools.csh
set yymmdd = `echo ${CYLC_TASK_CYCLE_POINT} | cut -c 1-8`
set hh = `echo ${CYLC_TASK_CYCLE_POINT} | cut -c 10-11`
set thisCycleDate = ${yymmdd}${hh}
set thisValidDate = `$advanceCYMDH ${thisCycleDate} ${ArgDT}`
source ./getCycleVars.csh
if ("$ArgMesh" == "$outerMesh") then
set WorkDir = ${ExternalAnalysisDirOuter}
set filePrefix = $externalanalyses__filePrefixOuter
set externalDirectory = `echo "$externalanalyses__externalDirectoryOuter" \
| sed 's@{{thisValidDate}}@'${thisValidDate}'@' \
`
else if ("$ArgMesh" == "$innerMesh") then
set WorkDir = ${ExternalAnalysisDirInner}
set filePrefix = $externalanalyses__filePrefixInner
set externalDirectory = `echo "$externalanalyses__externalDirectoryInner" \
| sed 's@{{thisValidDate}}@'${thisValidDate}'@' \
`
else if ("$ArgMesh" == "$ensembleMesh") then
set WorkDir = ${ExternalAnalysisDirEnsemble}
set filePrefix = $externalanalyses__filePrefixEnsemble
set externalDirectory = `echo "$externalanalyses__externalDirectoryEnsemble" \
| sed 's@{{thisValidDate}}@'${thisValidDate}'@' \
`
else
echo "$0 (ERROR): invalid ArgMesh ($ArgMesh)"
exit 1
endif
echo "WorkDir = ${WorkDir}"
mkdir -p ${WorkDir}
cd ${WorkDir}
# ================================================================================================
ln -sfv $externalDirectory/$filePrefix.$thisMPASFileDate.nc ./
date
exit 0