[ba05105] | 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 !! |
---|