-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_files
More file actions
130 lines (106 loc) · 4.75 KB
/
create_files
File metadata and controls
130 lines (106 loc) · 4.75 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/bash
rm -rf "/scratch1/NCEPDEV/global/Anton.Fernando/dummy"
echo "Removed old dummy files successfully."
# Variables
base_dir="/scratch1/NCEPDEV/global/Anton.Fernando/dummy"
ymd_list=("20241116" "20241117")
cycles=("00" "06" "12" "18")
mid_cyc_next=("03" "09" "15" "21") # Corresponding mid_cyc values for each cycle
mid_cyc_previous=("21" "03" "09" "15")
atmos_restart_files=("fv_core.res" "fv_srf_wnd.res" "coupler.res" "phy_data" "sfc_data")
atmos_increment_files=("ratmi003.nc" "ratmi009.nc" "ratminc.nc")
ocean_files=("MOM.res.nc" "MOM.res_1.nc" "MOM.res_2.nc" "MOM.res_3.nc")
# Atmosphere Restart Files
for ymd in "${ymd_list[@]}"; do
base_dir="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/enkfgdas.${ymd}"
base_dir_control_DIa="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/gdas.${ymd}"
base_dir_control_DIb="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/gfs.${ymd}"
# Loop through cycles
for i in "${!cycles[@]}"; do
hour="${cycles[$i]}"
mid_cyc="${mid_cyc_next[$i]}" # Get the corresponding mid_cyc value
mkdir -p "${base_dir_control_DIa}/${hour}/analysis/atmos"
mkdir -p "${base_dir_control_DIb}/${hour}/analysis/atmos"
touch "${base_dir_control_DIa}/${hour}/analysis/atmos/gdas.t${hour}z.atma003.ensres.nc"
touch "${base_dir_control_DIb}/${hour}/analysis/atmos/gfs.t${hour}z.atminc.nc"
touch "${base_dir_control_DIb}/${hour}/analysis/atmos/gfs.t${hour}z.atmanl.nc"
# Loop through members
for mem in $(seq 0 80); do
mem_folder=$(printf "mem%03d" "$mem")
mem_dir="${base_dir}/${hour}/${mem_folder}/model/atmos/restart"
mkdir -p "${mem_dir}"
# Loop through files and create them
for file in "${atmos_restart_files[@]}"; do
touch "${mem_dir}/${ymd}.${mid_cyc}0000.${file}.nc"
touch "${mem_dir}/${ymd}.${mid_cyc}0000.${file}"
for tile in $(seq 1 6); do
touch "${mem_dir}/${ymd}.${mid_cyc}0000.${file}.tile${tile}.nc"
done
done
done
done
done
echo "Dummy atmos restart files created successfully."
# Atmosphere Increment Files
for ymd in "${ymd_list[@]}"; do
base_dir="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/enkfgfs.${ymd}"
# Loop through cycles
for i in "${!cycles[@]}"; do
hour="${cycles[$i]}"
for mem in $(seq 0 80); do
mem_folder=$(printf "mem%03d" "$mem")
mem_dir="${base_dir}/${hour}/${mem_folder}/analysis/atmos"
mkdir -p "${mem_dir}"
for file in "${atmos_increment_files[@]}"; do
touch "${mem_dir}/enkfgfs.t${hour}z.${file}"
done
done
done
done
echo "Dummy atmos increment files created successfully."
# Ocean Files
for ymd in "${ymd_list[@]}"; do
base_dir="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/enkfgdas.${ymd}"
base_dir_inc="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/enkfgfs.${ymd}"
base_dir_control_restart="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/gdas.${ymd}"
base_dir_control_increment="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/gfs.${ymd}"
for i in "${!cycles[@]}"; do
hour="${cycles[$i]}"
mid_cyc="${mid_cyc_next[$i]}" # Get the corresponding mid_cyc value
mem_dir_control_restart="${base_dir_control_restart}/${hour}/model/ocean/restart"
mem_dir_control_increment="${base_dir_control_increment}/${hour}/analysis/ocean"
mkdir -p "${mem_dir_control_restart}"
mkdir -p "${mem_dir_control_increment}"
touch "${mem_dir_control_increment}/gfs.t${hour}z.ocninc.nc"
for file in "${ocean_files[@]}"; do
touch "${mem_dir_control_restart}/${ymd}.${mid_cyc}0000.${file}"
done
for mem in $(seq 0 80); do
mem_folder=$(printf "mem%03d" "$mem")
mem_dir="${base_dir}/${hour}/${mem_folder}/model/ocean/restart"
mem_dir_inc="${base_dir_inc}/${hour}/${mem_folder}/analysis/ocean"
mkdir -p "${mem_dir}" "${mem_dir_inc}"
touch "${mem_dir}/enkfgfs.t${hour}z.ocninc.nc"
touch "${mem_dir_inc}/enkfgfs.t${hour}z.ocninc.nc"
for file in "${ocean_files[@]}"; do
touch "${mem_dir}/${ymd}.${mid_cyc}0000.${file}"
touch "${mem_dir_inc}/${ymd}.${mid_cyc}0000.${file}"
done
done
done
done
echo "Dummy ocean files created successfully."
# Ice Files
base_dir="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/enkfgfs.${ymd}"
base_dir_control="/scratch1/NCEPDEV/global/Anton.Fernando/dummy/gfs.${ymd}"
hour="00"
mid_cyc="21" # Get the corresponding mid_cyc value
ymd="20241117"
ymd_prev="20241116" # Get the corresponding mid_cyc value
mem_folder="000"
mem_dir="${base_dir}/${hour}/${mem_folder}/analysis/ice"
mem_dir_control="${base_dir_control}/${hour}/analysis/ice"
mkdir -p "${mem_dir}" "${mem_dir_control}"
touch "${mem_dir}/${ymd_prev}.${mid_cyc}0000.cice_model_anl.res.nc"
touch "${mem_dir_control}/${ymd_prev}.${mid_cyc}0000.cice_model_anl.res.nc"
echo "Dummy ice files created successfully."