1 | #!/bin/ksh |
---|
2 | |
---|
3 | if [[ $# -ne 4 && (-z "$GATEWAY" || -z "$DESTINATION" || -z "$ECUID" || -z "$ECGID" ) ]] ; then |
---|
4 | |
---|
5 | echo Syntax: update_script.ksh Gateway Destination EC_user_ID EC_group_ID |
---|
6 | echo e.g. update_script.ksh srvx7.img.univie.ac.at leo@genericSftp lh0 spatlh00 |
---|
7 | echo or set environment variables GATEWAY DESTINATION ECUID ECGID |
---|
8 | exit |
---|
9 | else |
---|
10 | if [[ $# -eq 4 ]] ; then |
---|
11 | export GATEWAY=$1 |
---|
12 | export DESTINATION=$2 |
---|
13 | export ECUID=$3 |
---|
14 | export ECGID=$4 |
---|
15 | fi |
---|
16 | fi |
---|
17 | |
---|
18 | ########### Just two examples ############### |
---|
19 | # Please modify for your environment # |
---|
20 | ############################################## |
---|
21 | |
---|
22 | #[ -z "$GATEWAY" ] && GATEWAY=srvx7.img.univie.ac.at |
---|
23 | #[ -z "$DESTINATION" ] && DESTINATION=leo@genericSftp |
---|
24 | #[ -z "$ECUID" ] && ECUID=lh0 |
---|
25 | #[ -z "$ECGID" ] && ECGID=spatlh00 |
---|
26 | |
---|
27 | #[ -z "$GATEWAY" ] && GATEWAY=ctbto4.ctbto.org |
---|
28 | #[ -z "$DESTINATION" ] && DESTINATION=atmops@ops |
---|
29 | #[ -z "$ECUID" ] && ECUID=cbb |
---|
30 | |
---|
31 | export VERSION=6 |
---|
32 | export SUBVERSION=0 |
---|
33 | echo 'ECMWFDATA V'${VERSION}.${SUBVERSION}' is installed for:' |
---|
34 | echo Gateway $GATEWAY |
---|
35 | echo Destination $DESTINATION |
---|
36 | echo ECMWF user ID $ECUID |
---|
37 | echo ECMWF group ID $ECGID |
---|
38 | echo Output will be written into '$SCRATCH' directory of user $ECUID - /scratch/ms/$ECGID/$ECUID |
---|
39 | |
---|
40 | echo 'Note: These settings can be changed via environment variables' |
---|
41 | echo '$GATEWAY $DESTINATION $ECUID $ECGID' |
---|
42 | |
---|
43 | cat flex_ecmwf_header_template | sed "s,xxx,${ECUID}," | sed "s,ggg,${ECGID}," >flex_ecmwf_header |
---|
44 | |
---|
45 | cat CONTROL_OPS_TEMPLATE | sed "s,xxx.xxx.xxx.xxx,${GATEWAY}," | sed "s,xxx@xxx,${DESTINATION}," | sed "s,xxx,${ECUID}," | sed "s,ggg,${ECGID}," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_OPS_V${VERSION}.${SUBVERSION} |
---|
46 | cat CONTROL_OPS_TEMPLATE | sed "s,xxx.xxx.xxx.xxx,${GATEWAY}," | sed "s,xxx@xxx,${DESTINATION}," | sed "s,xxx,${ECUID}," | sed "s,ggg,${ECGID}," | sed "s,v.v,${VERSION}.${SUBVERSION}," | sed "s,M_TYPE AN FC FC FC FC FC FC FC FC FC FC FC AN FC FC FC FC FC FC FC FC FC FC FC 12,M_TYPE AN FC FC FC FC FC AN FC FC 4V FC FC 4V FC FC FC FC FC AN FC FC 4V FC FC 4V," | sed "s,M_TIME 00 00 00 00 00 00 00 00 00 00 00 00 12 12 12 12 12 12 12 12 12 12 12 12 12,M_TIME 00 00 00 00 00 00 06 00 00 09 00 00 09 12 12 12 12 12 18 12 12 21 12 12 21," | sed "s,M_STEP 00 01 02 03 04 05 06 07 08 09 10 11 00 01 02 03 04 05 06 07 08 09 10 11 12,M_STEP 00 01 02 03 04 05 00 07 08 00 10 11 03 01 02 03 04 05 00 07 08 00 10 11 03," | sed "s,DTIME 1,DTIME 3," | sed "s,M_ETA 1,M_ETA 0," | sed "s,M_GAUSS 0,M_GAUSS 1," | sed "s,M_SMOOTH 0,M_SMOOTH 179," > CONTROL_OPS_V${VERSION}.${SUBVERSION}_4V |
---|
47 | |
---|
48 | cat ecmwf_idc_ops_header_template | sed "s,xxx,${ECUID}," | sed "s,ggg,${ECGID}," | sed "s,v.v,${VERSION}.${SUBVERSION}," >ecmwf_idc_ops_header |
---|
49 | cat ecmwf_idc_ops_header ecmwf_idc_ops_body >ecmwf_idc_ops_ecgate |
---|
50 | |
---|
51 | cat ecmwf_idc_ops_multi_header_template | sed "s,xxx,${ECUID}," | sed "s,ggg,${ECGID}," | sed "s,v.v,${VERSION}.${SUBVERSION}," >ecmwf_idc_ops_multi_header |
---|
52 | cat ecmwf_idc_ops_multi_header ecmwf_idc_ops_body ecmwf_idc_ops_multi_footer >ecmwf_idc_ops_multi_ecgate |
---|
53 | |
---|
54 | |
---|
55 | cat CONTROL_ERA_TEMPLATE | sed "s,xxx.xxx.xxx.xxx,${GATEWAY}," | sed "s,xxx@xxx,${DESTINATION}," | sed "s,PREFIX EN,PREFIX EG," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_ERA__GLOBALGAUSS |
---|
56 | cat CONTROL_ERA__GLOBALGAUSS | sed "s,GAUSS 1,GAUSS 0," | sed "s,M_ETA 0,M_ETA 1," | sed "s,PREFIX EG,PREFIX EE," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_ERA__GLOBALETA |
---|
57 | cat CONTROL_ERA__GLOBALETA | sed "s,M_GRID 1000,M_GRID 200," | sed "s,M_RESOL 159,M_RESOL 799," | sed "s,M_LEFT -179000,M_LEFT -10000," | sed "s,M_RIGHT 180000,M_RIGHT 30000," | sed "s,M_LOWER -90000,M_LOWER 30000," | sed "s,M_UPPER 90000,M_UPPER 60000," | sed "s,DTIME 3,DTIME 3," | sed "s,PREFIX EE,PREFIX EH," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_ERA__HIRES |
---|
58 | cat CONTROL_ERA__GLOBALETA | sed "s,M_GRID 1000,M_GRID 200," | sed "s,M_RESOL 159,M_RESOL 799," | sed "s,M_LEFT -179000,M_LEFT 113000," | sed "s,M_RIGHT 180000,M_RIGHT 190000," | sed "s,M_LOWER -90000,M_LOWER 00000," | sed "s,M_UPPER 90000,M_UPPER 30000," | sed "s,DTIME 3,DTIME 3," | sed "s,PREFIX EE,PREFIX EH," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_ERA__HAIYAN |
---|
59 | # ERA-Interim Template |
---|
60 | cat CONTROL_ERA__GLOBALGAUSS | sed "s,CLASS OD,CLASS EI," | sed "s,PREFIX EG,PREFIX EI," | sed "s,M_LEVEL 137,M_LEVEL 60," | sed "s,M_LEVELIST 1\/TO\/137,M_LEVELIST 1\/TO\/60," | sed "s,201311,201211," | sed "s,v.v,${VERSION}.${SUBVERSION}," > CONTROL_ERA__EI |
---|
61 | # ERA-Interim Template |
---|
62 | cat CONTROL_ERA__GLOBALGAUSS | sed "s,M_TYPE AN FC FC FC FC FC AN FC FC FC FC FC AN FC FC FC FC FC AN FC FC FC FC FC,M_TYPE CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV CV," | sed "s,M_TIME 00 00 00 00 00 00 06 00 00 00 00 00 12 12 12 12 12 12 18 12 12 12 12 12,M_TIME 00 00 00 00 00 00 00 00 00 00 00 00 12 12 12 12 12 12 12 12 12 12 12 12," | sed "s,M_STEP 00 01 02 03 04 05 00 07 08 09 10 11 00 01 02 03 04 05 00 07 08 09 10 11,M_STEP 00 01 02 03 04 05 06 07 08 09 10 11 00 01 02 03 04 05 06 07 08 09 10 11," | sed "s,STREAM OPER,STREAM ENFO," | sed "s,M_NUMBER OFF,M_NUMBER 1," | sed "s,M_LEVEL 137,M_LEVEL 62," | sed "s,M_LEVELIST 1\/TO\/137,M_LEVELIST 1\/TO\/62," > CONTROL_ERA__CV |
---|
63 | |
---|
64 | SERVER=`uname -n | cut -c 1-4` |
---|
65 | if [[ ${SERVER} != ecgb ]] ; then |
---|
66 | # submit via gateway from local server |
---|
67 | |
---|
68 | echo Software copied from server `uname -n | cut -c 1-4` to ecgate |
---|
69 | |
---|
70 | ksh upload_source V${VERSION}.${SUBVERSION} |
---|
71 | |
---|
72 | for FILE in `ls CONTROL_ERA__*` ; do |
---|
73 | |
---|
74 | name=`echo $FILE | sed s,CONTROL_ERA__,,` |
---|
75 | cat flex_ecmwf_header $FILE flex_ecmwf_body >flex_ecmwf_$name |
---|
76 | ecaccess-file-put flex_ecmwf_$name flex_extract_ecgate_V${VERSION}.${SUBVERSION}/flex_ecmwf_$name |
---|
77 | |
---|
78 | done |
---|
79 | |
---|
80 | ecaccess-file-put CONTROL_OPS_V${VERSION}.${SUBVERSION} flex_extract_ecgate_V${VERSION}.${SUBVERSION}/CONTROL_OPS_V${VERSION}.${SUBVERSION} |
---|
81 | ecaccess-file-put ecmwf_idc_ops_ecgate flex_extract_ecgate_V${VERSION}.${SUBVERSION}/ecmwf_idc_ops_ecgate |
---|
82 | ecaccess-file-put ecmwf_idc_ops_multi_ecgate flex_extract_ecgate_V${VERSION}.${SUBVERSION}/ecmwf_idc_ops_multi_ecgate |
---|
83 | ecaccess-file-mkdir scratch:ms_sms_output_V${VERSION}.${SUBVERSION} |
---|
84 | |
---|
85 | else |
---|
86 | |
---|
87 | for FILE in `ls CONTROL_ERA__*` ; do |
---|
88 | |
---|
89 | name=`echo $FILE | sed s,CONTROL_ERA__,,` |
---|
90 | cat flex_ecmwf_header $FILE flex_ecmwf_body >flex_ecmwf_$name |
---|
91 | done |
---|
92 | |
---|
93 | |
---|
94 | set +e |
---|
95 | mkdir $SCRATCH/ms_sms_output_V${VERSION}.${SUBVERSION} |
---|
96 | set -e |
---|
97 | |
---|
98 | fi |
---|
99 | |
---|
100 | echo ' ' |
---|
101 | echo !! NOTE !! NOTE !! |
---|
102 | echo ' ' |
---|
103 | echo Scripts are now generated and uploaded but not yet submitted. |
---|
104 | echo Run submit_examples.ksh to submit them to ecgate. |
---|
105 | echo ' ' |
---|
106 | echo !! NOTE !! NOTE !! |
---|