1 | #!/bin/bash |
---|
2 | |
---|
3 | # |
---|
4 | # This script creates the file "ECDYN.nc" for a given date |
---|
5 | # defined by year, month, day and hour between 0, 6, 12 or 18hGMT |
---|
6 | # using ERA5 data at IDRIS, spirit2, spirit1 or on your local machine using |
---|
7 | # data from spirit2, provided that you have an account on spirit2. |
---|
8 | # |
---|
9 | # You need to be in the UNIX group subipsl at IDRIS or in the |
---|
10 | # UNIX group ecmwf on spirit2, to access the data. |
---|
11 | # |
---|
12 | # This main script is calling 2 scripts: get_ERA.sh and create_ECDYN_ERA.sh |
---|
13 | # |
---|
14 | # get_ERA.sh extracts the data (u, v, ta, r, etc; see $VARS below) |
---|
15 | # from ERA reanalyses at the chosen date on your actual directory |
---|
16 | # |
---|
17 | # create_ECDYN_ERA.sh merges the data into ECDYN.nc, together with an ancien |
---|
18 | # CDSW field (see below) and renames different fields. |
---|
19 | # |
---|
20 | # "ECDYN.nc" also contains ST and CDSW (which could be in "ECPHY.nc"). |
---|
21 | # CDSW is not modified because we do not know what to put into it. |
---|
22 | # |
---|
23 | # NB: The field CDSW is coming from the file ECDYN_high_res.nc |
---|
24 | # available here : |
---|
25 | # https://www.lmd.jussieu.fr/~lmdz/pub/3DInputData/Init/ECDYN_high_res.nc |
---|
26 | # |
---|
27 | # This script was largely inspired by the script "create_ECDYN.sh" |
---|
28 | # available at "https://lmdz.lmd.jussieu.fr/utilisateurs/utilisation-de-lmdz" |
---|
29 | # written by Lionel GUEZ. |
---|
30 | # It was completely rewritten and parameterized as follows: |
---|
31 | # |
---|
32 | # 1/ getting data fields (script get_ERA.sh) was separated from |
---|
33 | # the merging part (script create_ECDYN_ERA.sh) |
---|
34 | # 2/ it allows to get any day and hour of a given year and month. |
---|
35 | # 3/ it allows to use ERA5 dataset |
---|
36 | # |
---|
37 | # Usage : |
---|
38 | # |
---|
39 | # ./ECDYN_ERA.sh $machine $year $month $day $hour |
---|
40 | # |
---|
41 | # For example, to create ECDYN.nc |
---|
42 | # on spirit2 for 1995 year, January 1st at 0h, |
---|
43 | # launch ./ECDYN_ERA.sh as below : |
---|
44 | # |
---|
45 | # ./ECDYN_ERA.sh spirit2 1995 01 01 0 |
---|
46 | # |
---|
47 | # Author: Ionela MUSAT, 1st April 2022 |
---|
48 | # |
---|
49 | |
---|
50 | echo $host may be spirit2 or IDRIS |
---|
51 | host=$1 |
---|
52 | year=$2 |
---|
53 | month=$3 |
---|
54 | day=$4 |
---|
55 | hour=$5 |
---|
56 | |
---|
57 | ana=ERA5 |
---|
58 | mesolog=`whoami` |
---|
59 | resol=GLOBAL_025 |
---|
60 | |
---|
61 | echo |
---|
62 | echo get the input data for ECDYN.nc for ${year}${month}${day} at ${hour}GMT |
---|
63 | echo |
---|
64 | |
---|
65 | VARS="u v ta r geopt stl1 sp" |
---|
66 | |
---|
67 | for var in $VARS; do |
---|
68 | |
---|
69 | case $var in |
---|
70 | ta) freq=hourly |
---|
71 | ddt=AN_PL |
---|
72 | suf=ap1e5 |
---|
73 | ndpd=24 ;; |
---|
74 | u|v|r) freq=4xdaily |
---|
75 | ddt=AN_PL |
---|
76 | suf=aphe5 |
---|
77 | ndpd=4 ;; |
---|
78 | geopt|stl1|sp) freq=hourly |
---|
79 | ddt=AN_SF |
---|
80 | suf=as1e5 |
---|
81 | ndpd=24 ;; |
---|
82 | esac |
---|
83 | |
---|
84 | ./get_ERA.sh ${ana} ${host} ${mesolog} ${resol} ${freq} ${ddt} ${suf} ${ndpd} ${year} ${month} ${day} ${hour} ${var} |
---|
85 | |
---|
86 | done |
---|
87 | |
---|
88 | echo |
---|
89 | echo merge input data into ECDYN.nc for ${year}${month}${day} at ${hour}GMT |
---|
90 | echo |
---|
91 | |
---|
92 | ./create_ECDYN_ERA.sh ${host} ${year} ${month} ${day} ${hour} |
---|
93 | |
---|
94 | exit |
---|