[3544] | 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> |
---|