|
1040 | 1040 | formula: null |
1041 | 1041 | positive: null |
1042 | 1042 | levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
| 1043 | +# ============================================================ |
| 1044 | +# EAMxx variable handlers (issue #339) |
| 1045 | +# Maps EAMxx output variable names to CMIP6 variables. |
| 1046 | +# These entries coexist with EAM entries above; the handler |
| 1047 | +# system selects whichever raw_variables are present in input. |
| 1048 | +# ============================================================ |
| 1049 | +# --- Precipitation and column water --- |
| 1050 | +- name: pr |
| 1051 | + units: kg m-2 s-1 |
| 1052 | + raw_variables: [precip_liq_surf_mass_flux, precip_ice_surf_mass_flux] |
| 1053 | + table: CMIP6_Amon.json |
| 1054 | + unit_conversion: null |
| 1055 | + formula: (precip_liq_surf_mass_flux + precip_ice_surf_mass_flux) * 1000.0 |
| 1056 | + positive: null |
| 1057 | + levels: null |
| 1058 | +- name: pr |
| 1059 | + units: kg m-2 s-1 |
| 1060 | + raw_variables: [precip_total_surf_mass_flux] |
| 1061 | + table: CMIP6_Amon.json |
| 1062 | + unit_conversion: null |
| 1063 | + formula: precip_total_surf_mass_flux * 1000.0 |
| 1064 | + positive: null |
| 1065 | + levels: null |
| 1066 | +- name: prw |
| 1067 | + units: kg m-2 |
| 1068 | + raw_variables: [VapWaterPath] |
| 1069 | + table: CMIP6_Amon.json |
| 1070 | + unit_conversion: null |
| 1071 | + formula: null |
| 1072 | + positive: null |
| 1073 | + levels: null |
| 1074 | +# --- Surface temperature and humidity --- |
| 1075 | +- name: ts |
| 1076 | + units: K |
| 1077 | + raw_variables: [surf_radiative_T] |
| 1078 | + table: CMIP6_Amon.json |
| 1079 | + unit_conversion: null |
| 1080 | + formula: null |
| 1081 | + positive: null |
| 1082 | + levels: null |
| 1083 | +- name: tas |
| 1084 | + units: K |
| 1085 | + raw_variables: [T_2m] |
| 1086 | + table: CMIP6_Amon.json |
| 1087 | + unit_conversion: null |
| 1088 | + formula: null |
| 1089 | + positive: null |
| 1090 | + levels: null |
| 1091 | +- name: huss |
| 1092 | + units: "1" |
| 1093 | + raw_variables: [qv_2m] |
| 1094 | + table: CMIP6_Amon.json |
| 1095 | + unit_conversion: null |
| 1096 | + formula: null |
| 1097 | + positive: null |
| 1098 | + levels: null |
| 1099 | +# --- Surface energy and momentum fluxes --- |
| 1100 | +- name: hfls |
| 1101 | + units: W m-2 |
| 1102 | + raw_variables: [surface_upward_latent_heat_flux] |
| 1103 | + table: CMIP6_Amon.json |
| 1104 | + unit_conversion: null |
| 1105 | + formula: null |
| 1106 | + positive: up |
| 1107 | + levels: null |
| 1108 | +- name: hfss |
| 1109 | + units: W m-2 |
| 1110 | + raw_variables: [surf_sens_flux] |
| 1111 | + table: CMIP6_Amon.json |
| 1112 | + unit_conversion: null |
| 1113 | + formula: null |
| 1114 | + positive: up |
| 1115 | + levels: null |
| 1116 | +- name: evspsbl |
| 1117 | + units: kg m-2 s-1 |
| 1118 | + raw_variables: [surf_evap] |
| 1119 | + table: CMIP6_Amon.json |
| 1120 | + unit_conversion: null |
| 1121 | + formula: null |
| 1122 | + positive: null |
| 1123 | + levels: null |
| 1124 | +- name: tauu |
| 1125 | + units: Pa |
| 1126 | + raw_variables: [surf_mom_flux_U] |
| 1127 | + table: CMIP6_Amon.json |
| 1128 | + unit_conversion: "-1" |
| 1129 | + formula: null |
| 1130 | + positive: down |
| 1131 | + levels: null |
| 1132 | +- name: tauv |
| 1133 | + units: Pa |
| 1134 | + raw_variables: [surf_mom_flux_V] |
| 1135 | + table: CMIP6_Amon.json |
| 1136 | + unit_conversion: "-1" |
| 1137 | + formula: null |
| 1138 | + positive: down |
| 1139 | + levels: null |
| 1140 | +# --- 10m wind speed --- |
| 1141 | +- name: sfcWind |
| 1142 | + units: m s-1 |
| 1143 | + raw_variables: [wind_speed_10m] |
| 1144 | + table: CMIP6_Amon.json |
| 1145 | + unit_conversion: null |
| 1146 | + formula: null |
| 1147 | + positive: null |
| 1148 | + levels: null |
| 1149 | +# --- Sea-level pressure --- |
| 1150 | +- name: psl |
| 1151 | + units: Pa |
| 1152 | + raw_variables: [SeaLevelPressure] |
| 1153 | + table: CMIP6_Amon.json |
| 1154 | + unit_conversion: null |
| 1155 | + formula: null |
| 1156 | + positive: null |
| 1157 | + levels: null |
| 1158 | +# --- TOA radiation --- |
| 1159 | +- name: rsdt |
| 1160 | + units: W m-2 |
| 1161 | + raw_variables: [SW_flux_dn_at_model_top] |
| 1162 | + table: CMIP6_Amon.json |
| 1163 | + unit_conversion: null |
| 1164 | + formula: null |
| 1165 | + positive: down |
| 1166 | + levels: null |
| 1167 | +- name: rsut |
| 1168 | + units: W m-2 |
| 1169 | + raw_variables: [SW_flux_up_at_model_top] |
| 1170 | + table: CMIP6_Amon.json |
| 1171 | + unit_conversion: null |
| 1172 | + formula: null |
| 1173 | + positive: up |
| 1174 | + levels: null |
| 1175 | +- name: rsutcs |
| 1176 | + units: W m-2 |
| 1177 | + raw_variables: [SW_clrsky_flux_up_at_model_top] |
| 1178 | + table: CMIP6_Amon.json |
| 1179 | + unit_conversion: null |
| 1180 | + formula: null |
| 1181 | + positive: up |
| 1182 | + levels: null |
| 1183 | +- name: rlut |
| 1184 | + units: W m-2 |
| 1185 | + raw_variables: [LW_flux_up_at_model_top] |
| 1186 | + table: CMIP6_Amon.json |
| 1187 | + unit_conversion: null |
| 1188 | + formula: null |
| 1189 | + positive: up |
| 1190 | + levels: null |
| 1191 | +- name: rlutcs |
| 1192 | + units: W m-2 |
| 1193 | + raw_variables: [LW_clrsky_flux_up_at_model_top] |
| 1194 | + table: CMIP6_Amon.json |
| 1195 | + unit_conversion: null |
| 1196 | + formula: null |
| 1197 | + positive: up |
| 1198 | + levels: null |
| 1199 | +# --- Surface radiation --- |
| 1200 | +- name: rsds |
| 1201 | + units: W m-2 |
| 1202 | + raw_variables: [SW_flux_dn_at_model_bot] |
| 1203 | + table: CMIP6_Amon.json |
| 1204 | + unit_conversion: null |
| 1205 | + formula: null |
| 1206 | + positive: down |
| 1207 | + levels: null |
| 1208 | +- name: rsus |
| 1209 | + units: W m-2 |
| 1210 | + raw_variables: [SW_flux_up_at_model_bot] |
| 1211 | + table: CMIP6_Amon.json |
| 1212 | + unit_conversion: null |
| 1213 | + formula: null |
| 1214 | + positive: up |
| 1215 | + levels: null |
| 1216 | +- name: rsdscs |
| 1217 | + units: W m-2 |
| 1218 | + raw_variables: [SW_clrsky_flux_dn_at_model_bot] |
| 1219 | + table: CMIP6_Amon.json |
| 1220 | + unit_conversion: null |
| 1221 | + formula: null |
| 1222 | + positive: down |
| 1223 | + levels: null |
| 1224 | +- name: rsuscs |
| 1225 | + units: W m-2 |
| 1226 | + raw_variables: [SW_clrsky_flux_up_at_model_bot] |
| 1227 | + table: CMIP6_Amon.json |
| 1228 | + unit_conversion: null |
| 1229 | + formula: null |
| 1230 | + positive: up |
| 1231 | + levels: null |
| 1232 | +- name: rlds |
| 1233 | + units: W m-2 |
| 1234 | + raw_variables: [LW_flux_dn_at_model_bot] |
| 1235 | + table: CMIP6_Amon.json |
| 1236 | + unit_conversion: null |
| 1237 | + formula: null |
| 1238 | + positive: down |
| 1239 | + levels: null |
| 1240 | +- name: rlus |
| 1241 | + units: W m-2 |
| 1242 | + raw_variables: [LW_flux_up_at_model_bot] |
| 1243 | + table: CMIP6_Amon.json |
| 1244 | + unit_conversion: null |
| 1245 | + formula: null |
| 1246 | + positive: up |
| 1247 | + levels: null |
| 1248 | +- name: rldscs |
| 1249 | + units: W m-2 |
| 1250 | + raw_variables: [LW_clrsky_flux_dn_at_model_bot] |
| 1251 | + table: CMIP6_Amon.json |
| 1252 | + unit_conversion: null |
| 1253 | + formula: null |
| 1254 | + positive: down |
| 1255 | + levels: null |
| 1256 | +# --- Cloud water paths --- |
| 1257 | +# CMIP6 clwvi = "condensed water path" = liquid + ice (per CMIP6_Amon.json comment). |
| 1258 | +# In EAMxx, LiqWaterPath is liquid-only (equiv. EAM TGCLDLWP), and |
| 1259 | +# IceWaterPath is ice-only (equiv. EAM TGCLDIWP). Their sum gives the |
| 1260 | +# total condensed water path required by CMIP6 clwvi. |
| 1261 | +# By contrast, EAM uses TGCLDCWP (total = liquid + ice) directly for clwvi. |
| 1262 | +- name: clwvi |
| 1263 | + units: kg m-2 |
| 1264 | + raw_variables: [LiqWaterPath, IceWaterPath] |
| 1265 | + table: CMIP6_Amon.json |
| 1266 | + unit_conversion: null |
| 1267 | + formula: LiqWaterPath + IceWaterPath |
| 1268 | + positive: null |
| 1269 | + levels: null |
| 1270 | +- name: clivi |
| 1271 | + units: kg m-2 |
| 1272 | + raw_variables: [IceWaterPath] |
| 1273 | + table: CMIP6_Amon.json |
| 1274 | + unit_conversion: null |
| 1275 | + formula: null |
| 1276 | + positive: null |
| 1277 | + levels: null |
| 1278 | +# --- Aerosol optical depth --- |
| 1279 | +- name: od550aer |
| 1280 | + units: "1" |
| 1281 | + raw_variables: [AerosolOpticalDepth550nm] |
| 1282 | + table: CMIP6_AERmon.json |
| 1283 | + unit_conversion: null |
| 1284 | + formula: null |
| 1285 | + positive: null |
| 1286 | + levels: null |
| 1287 | +# --- 3D pressure-level variables (requires data interpolated to plev) --- |
| 1288 | +- name: ta |
| 1289 | + units: K |
| 1290 | + raw_variables: [T_mid] |
| 1291 | + table: CMIP6_Amon.json |
| 1292 | + unit_conversion: null |
| 1293 | + formula: null |
| 1294 | + positive: null |
| 1295 | + levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
| 1296 | +- name: hus |
| 1297 | + units: "1" |
| 1298 | + raw_variables: [qv] |
| 1299 | + table: CMIP6_Amon.json |
| 1300 | + unit_conversion: null |
| 1301 | + formula: null |
| 1302 | + positive: null |
| 1303 | + levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
| 1304 | +- name: hur |
| 1305 | + units: "%" |
| 1306 | + raw_variables: [RelativeHumidity] |
| 1307 | + table: CMIP6_Amon.json |
| 1308 | + unit_conversion: null |
| 1309 | + formula: null |
| 1310 | + positive: null |
| 1311 | + levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
| 1312 | +- name: wap |
| 1313 | + units: Pa s-1 |
| 1314 | + raw_variables: [omega] |
| 1315 | + table: CMIP6_Amon.json |
| 1316 | + unit_conversion: null |
| 1317 | + formula: null |
| 1318 | + positive: null |
| 1319 | + levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
| 1320 | +- name: zg |
| 1321 | + units: m |
| 1322 | + raw_variables: [z_mid] |
| 1323 | + table: CMIP6_Amon.json |
| 1324 | + unit_conversion: null |
| 1325 | + formula: null |
| 1326 | + positive: null |
| 1327 | + levels: { name: plev19, units: Pa, e3sm_axis_name: plev } |
0 commit comments