1 | <!-- =========================================================================================================== --> |
---|
2 | <!-- nudging_dynamico.xml --> |
---|
3 | <!-- Definition of nudging input/output --> |
---|
4 | <!-- =========================================================================================================== --> |
---|
5 | <context id="icosagcm" > |
---|
6 | |
---|
7 | |
---|
8 | <!-- output forcing field for nudging --> |
---|
9 | |
---|
10 | <file_definition> |
---|
11 | |
---|
12 | <file id="nudging_forcing" enabled="false" output_freq="3h" > |
---|
13 | <field_group operation="instant" domain_ref="domain_forcing" freq_offset="0ts"> |
---|
14 | <field field_ref="ulon_forcing" name="u"/> |
---|
15 | <field field_ref="ulat_forcing" name="v"/> |
---|
16 | <field field_ref="temp_forcing" name="t"/> |
---|
17 | <field field_ref="ps_forcing" name="sp" /> |
---|
18 | <field field_ref="p_forcing" name="pressure"/> |
---|
19 | <field field_ref="H2O-g_forcing" name="q"/> |
---|
20 | <field field_ref="H2O-l_forcing" name="clwc"/> |
---|
21 | <field field_ref="H2O-s_forcing" name="ciwc"/> |
---|
22 | </field_group> |
---|
23 | </file > |
---|
24 | |
---|
25 | </file_definition> |
---|
26 | |
---|
27 | <field_definition> |
---|
28 | |
---|
29 | <field_group domain_ref="i"> |
---|
30 | <field id="ulon_forcing" axis_ref="lev"/> |
---|
31 | <field id="ulat_forcing" axis_ref="lev"/> |
---|
32 | <field id="temp_forcing" axis_ref="lev"/> |
---|
33 | <field id="ps_forcing" /> |
---|
34 | <field id="p_forcing" axis_ref="lev"/> |
---|
35 | <field id="H2O-g_forcing" axis_ref="lev"/> |
---|
36 | <field id="H2O-l_forcing" axis_ref="lev"/> |
---|
37 | <field id="H2O-s_forcing" axis_ref="lev"/> |
---|
38 | </field_group> |
---|
39 | |
---|
40 | </field_definition> |
---|
41 | |
---|
42 | <domain_definition> |
---|
43 | <domain id="domain_forcing" type="rectilinear" > |
---|
44 | <generate_rectilinear_domain id="nudging_zone" /> |
---|
45 | <interpolate_domain order="2"/> |
---|
46 | </domain> |
---|
47 | </domain_definition> |
---|
48 | |
---|
49 | |
---|
50 | |
---|
51 | |
---|
52 | <!-- =========================================================================================================== --> |
---|
53 | <!-- nudging configuration --> |
---|
54 | |
---|
55 | <file_definition> |
---|
56 | |
---|
57 | <file_group id="nudging_files" enabled="false"> <!-- enabled will be set from model in nudging case --> |
---|
58 | |
---|
59 | <file id="nudging_out" enabled="false" output_freq="1h" sync_freq="1ts" output_level="10" > |
---|
60 | <field_group freq_offset="0ts" scale_factor="_reset_" add_offset="_reset_"> |
---|
61 | <field field_ref="ulon_nudged" scale_factor="_reset_" add_offset="_reset_"/> |
---|
62 | <field field_ref="ulat_nudged" scale_factor="_reset_" add_offset="_reset_"/> |
---|
63 | <field field_ref="temp_nudged" scale_factor="_reset_" add_offset="_reset_"/> |
---|
64 | <field field_ref="ps_nudged" scale_factor="_reset_" add_offset="_reset_"/> |
---|
65 | </field_group> |
---|
66 | </file> |
---|
67 | |
---|
68 | <file id="nudging_test" enabled="false" output_freq="1ts" sync_freq="1ts" output_level="10" > |
---|
69 | <field id="coeff_i" domain_ref="i" operation="instant" enabled="true" prec="8"/> |
---|
70 | <field id="ps_nudged_out" domain_ref="i" operation="instant" enabled="true" prec="8"/> |
---|
71 | <field id="temp_nudged_out" domain_ref="i" axis_ref="lev" operation="instant" enabled="true" prec="8" /> |
---|
72 | </file> |
---|
73 | |
---|
74 | |
---|
75 | <file id="nudging_in" name="nudging_forcing" enabled="false" output_freq="1h" mode="read" record_offset="1" time_counter_name="time" cyclic="true"> |
---|
76 | <field_group operation="instant" freq_offset="1ts" > |
---|
77 | <field id="ps_nudged_read" name="sp" domain_ref="domain_nudged" /> |
---|
78 | <field id="p_nudged_read" name="pressure" domain_ref="domain_nudged" axis_ref="axis_nudged" enabled="false" /> |
---|
79 | <field id="ulon_nudged_read" name="u" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
80 | <field id="ulat_nudged_read" name="v" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
81 | <field id="temp_nudged_read" name="t" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
82 | <field id="H2O-g_nudged_read" name="q" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
83 | <field id="H2O-l_nudged_read" name="clwc" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
84 | <field id="H2O-s_nudged_read" name="ciwc" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
85 | <field id="q_nudged_read" name="q" grid_ref="grid_q_nudged" enabled="false"/> |
---|
86 | </field_group> |
---|
87 | </file> |
---|
88 | |
---|
89 | <file id="nudging_in0" name="nudging_forcing" enabled="false" output_freq="1000y" mode="read" record_offset="0" time_counter_name="time"> |
---|
90 | <field_group operation="once" freq_offset="1ts" > |
---|
91 | <field id="ps_nudged_read0" name="sp" domain_ref="domain_nudged" /> |
---|
92 | <field id="p_nudged_read0" name="pressure" domain_ref="domain_nudged" axis_ref="axis_nudged" enabled="false"/> |
---|
93 | <field id="ulon_nudged_read0" name="u" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
94 | <field id="ulat_nudged_read0" name="v" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
95 | <field id="temp_nudged_read0" name="t" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
96 | <field id="H2O-g_nudged_read0" name="q" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
97 | <field id="H2O-l_nudged_read0" name="clwc" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
98 | <field id="H2O-s_nudged_read0" name="ciwc" domain_ref="domain_nudged" axis_ref="axis_nudged" /> |
---|
99 | <field id="q_nudged_read0" name="q" grid_ref="grid_q_nudged" enabled="false"/> |
---|
100 | </field_group> |
---|
101 | </file> |
---|
102 | |
---|
103 | </file_group> |
---|
104 | |
---|
105 | </file_definition> |
---|
106 | |
---|
107 | |
---|
108 | |
---|
109 | <field_definition> |
---|
110 | |
---|
111 | <field id="temp_nudged_horiz_interp" field_ref="temp_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
112 | <field id="ulon_nudged_horiz_interp" field_ref="ulon_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
113 | <field id="ulat_nudged_horiz_interp" field_ref="ulat_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
114 | <field id="q_nudged_horiz_interp" field_ref="q_nudged_read" grid_ref="grid_q_from_nudged_horiz_interp"/> |
---|
115 | <field id="H2O-g_nudged_horiz_interp" field_ref="H2O-g_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
116 | <field id="H2O-l_nudged_horiz_interp" field_ref="H2O-l_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
117 | <field id="H2O-s_nudged_horiz_interp" field_ref="H2O-s_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
118 | |
---|
119 | <field_group id="nudging_fields" read_access="false"> <!-- read_access will be set from model --> |
---|
120 | <field id="ps_nudged" field_ref="ps_nudged_read" domain_ref="from_nudged"/> |
---|
121 | |
---|
122 | <field id="p_nudged_horiz_interp" field_ref="p_nudged_read" domain_ref="from_nudged" axis_ref="axis_nudged" read_access="false" /> <!-- read_access will be set from model --> |
---|
123 | |
---|
124 | <field id="temp_nudged" field_ref="temp_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
125 | <field id="ulon_nudged" field_ref="ulon_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
126 | <field id="ulat_nudged" field_ref="ulat_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
127 | <field id="ulat_nudged" field_ref="ulat_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
128 | <field id="H2O-g_nudged" field_ref="H2O-g_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
129 | <field id="H2O-l_nudged" field_ref="H2O-l_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
130 | <field id="H2O-s_nudged" field_ref="H2O-s_nudged_horiz_interp" domain_ref="from_nudged" axis_ref="from_nudged"/> |
---|
131 | <field id="q_nudged" field_ref="q_nudged_horiz_interp" grid_ref="grid_q_from_nudged"/> |
---|
132 | </field_group> |
---|
133 | |
---|
134 | <field id="p_nudged" domain_ref="i" axis_ref="lev" /> <!--sent from model--> |
---|
135 | |
---|
136 | |
---|
137 | <field id="temp_nudged_horiz_interp0" field_ref="temp_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
138 | <field id="ulon_nudged_horiz_interp0" field_ref="ulon_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
139 | <field id="ulat_nudged_horiz_interp0" field_ref="ulat_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
140 | <field id="q_nudged_horiz_interp0" field_ref="q_nudged_read0" grid_ref="grid_q_from_nudged_horiz_interp"/> |
---|
141 | <field id="H2O-g_nudged_horiz_interp0" field_ref="H2O-g_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
142 | <field id="H2O-l_nudged_horiz_interp0" field_ref="H2O-l_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
143 | <field id="H2O-s_nudged_horiz_interp0" field_ref="H2O-s_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged"/> |
---|
144 | |
---|
145 | <field_group id="nudging_fields0" read_access="false"> <!-- read_access will be set from model --> |
---|
146 | <field id="ps_nudged0" field_ref="ps_nudged_read0" domain_ref="from_nudged"/> |
---|
147 | |
---|
148 | <field id="p_nudged_horiz_interp0" field_ref="p_nudged_read0" domain_ref="from_nudged" axis_ref="axis_nudged" read_access="false"/> <!-- read_access will be set from model --> |
---|
149 | |
---|
150 | <field id="temp_nudged0" field_ref="temp_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0"/> |
---|
151 | <field id="ulon_nudged0" field_ref="ulon_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0" build_workflow_graph="true" /> |
---|
152 | <field id="ulat_nudged0" field_ref="ulat_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0"/> |
---|
153 | <field id="q_nudged0" field_ref="q_nudged_horiz_interp0" grid_ref="grid_q_from_nudged0"/> |
---|
154 | <field id="H2O-g_nudged0" field_ref="H2O-g_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0"/> |
---|
155 | <field id="H2O-l_nudged0" field_ref="H2O-l_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0"/> |
---|
156 | <field id="H2O-s_nudged0" field_ref="H2O-s_nudged_horiz_interp0" domain_ref="from_nudged" axis_ref="from_nudged0"/> |
---|
157 | </field_group> |
---|
158 | |
---|
159 | <field id="p_nudged0" domain_ref="i" axis_ref="lev" /> <!--sent from model--> |
---|
160 | |
---|
161 | |
---|
162 | </field_definition> |
---|
163 | |
---|
164 | |
---|
165 | |
---|
166 | |
---|
167 | <domain_definition> |
---|
168 | <domain id="domain_nudged" type="rectilinear"> |
---|
169 | <generate_rectilinear_domain/> |
---|
170 | </domain> |
---|
171 | |
---|
172 | <domain id="from_nudged" domain_ref="i"> |
---|
173 | <interpolate_domain order="2" /> |
---|
174 | </domain> |
---|
175 | |
---|
176 | </domain_definition> |
---|
177 | |
---|
178 | <axis_definition> |
---|
179 | <axis id="axis_nudged" axis_type="Z" convert_from_factor="100" /> <!-- ERA5 files are in milibar => pascal --> |
---|
180 | |
---|
181 | <axis id="nudged_vert_interp_src_dest" axis_ref="lev"> |
---|
182 | <interpolate_axis order="1" coordinate_src="p_nudged_horiz_interp" coordinate_dst="p_nudged" /> |
---|
183 | </axis> |
---|
184 | |
---|
185 | <axis id="nudged_vert_interp_src_dest0" axis_ref="lev"> |
---|
186 | <interpolate_axis order="1" coordinate_src="p_nudged_horiz_interp0" coordinate_dst="p_nudged0" /> |
---|
187 | </axis> |
---|
188 | |
---|
189 | <axis id="nudged_vert_interp_dest" axis_ref="lev"> |
---|
190 | <interpolate_axis order="1" coordinate_dst="p_nudged" /> |
---|
191 | </axis> |
---|
192 | |
---|
193 | |
---|
194 | <axis id="from_nudged" axis_ref="axis_nudged" /> <!-- axis_ref will be set from model --> |
---|
195 | |
---|
196 | <axis id="from_nudged0" axis_ref="axis_nudged" /> <!-- axis_ref will be set from model --> |
---|
197 | |
---|
198 | </axis_definition> |
---|
199 | |
---|
200 | |
---|
201 | <grid_definition> |
---|
202 | |
---|
203 | <grid id="grid_q_nudged"> |
---|
204 | <domain domain_ref="domain_nudged" /> |
---|
205 | <axis axis_ref="axis_nudged" /> |
---|
206 | <axis axis_ref="nq" /> |
---|
207 | </grid> |
---|
208 | |
---|
209 | <grid id="grid_q_from_nudged_horiz_interp"> |
---|
210 | <domain domain_ref="from_nudged" /> |
---|
211 | <axis axis_ref="axis_nudged" /> |
---|
212 | <axis axis_ref="nq" /> |
---|
213 | </grid> |
---|
214 | |
---|
215 | <grid id="grid_q_from_nudged"> |
---|
216 | <domain domain_ref="from_nudged" /> |
---|
217 | <axis axis_ref="from_nudged" /> |
---|
218 | <axis axis_ref="nq" /> |
---|
219 | </grid> |
---|
220 | |
---|
221 | <grid id="grid_q_from_nudged0"> |
---|
222 | <domain domain_ref="from_nudged" /> |
---|
223 | <axis axis_ref="from_nudged0" /> |
---|
224 | <axis axis_ref="nq" /> |
---|
225 | </grid> |
---|
226 | |
---|
227 | </grid_definition> |
---|
228 | |
---|
229 | </context> |
---|