- Timestamp:
- 2018-03-06T17:12:34+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_merge_2017/DOC/texfiles/chapters/chap_OBS.tex
r9373 r9376 65 65 66 66 \item Download some EN4 data from 67 \href{http://www.metoffice.gov.uk/hadobs}{ http://www.metoffice.gov.uk/hadobs}. Choose observations which are67 \href{http://www.metoffice.gov.uk/hadobs}{www.metoffice.gov.uk/hadobs}. Choose observations which are 68 68 valid for the period of your test run because the observation operator compares 69 69 the model and observations for a matching date and time. 70 70 71 71 \item Compile the OBSTOOLS code using: 72 \begin{ verbatim}72 \begin{shcode} 73 73 ./maketools -n OBSTOOLS -m [ARCH]. 74 \end{ verbatim}74 \end{shcode} 75 75 76 76 \item Convert the EN4 data into feedback format: 77 \begin{ verbatim}77 \begin{shcode} 78 78 enact2fb.exe profiles_01.nc EN.4.1.1.f.profiles.g10.YYYYMM.nc 79 \end{ verbatim}79 \end{shcode} 80 80 81 81 \item Include the following in the NEMO namelist to run the observation … … 84 84 85 85 %------------------------------------------namobs_example----------------------------------------------------- 86 \namdisplay{namobs_example}86 %\fortranfile{namelists/namobs_example} 87 87 %------------------------------------------------------------------------------------------------------------- 88 88 … … 114 114 115 115 %------------------------------------------namobs-------------------------------------------------------- 116 \ namdisplay{namobs}116 \fortranfile{namelists/namobs} 117 117 %------------------------------------------------------------------------------------------------------------- 118 118 … … 126 126 \subsection{Profile feedback} 127 127 128 \begin{alltt} 129 \tiny 130 \begin{verbatim} 128 \begin{ccode} 131 129 netcdf profiles_01 { 132 130 dimensions: … … 280 278 :Convention = "NEMO unified observation operator output" ; 281 279 } 282 \end{verbatim} 283 \end{alltt} 280 \end{ccode} 284 281 285 282 \subsection{Sea level anomaly feedback} 286 283 287 \begin{alltt} 288 \tiny 289 \begin{verbatim} 284 \begin{ccode} 290 285 netcdf sla_01 { 291 286 dimensions: … … 407 402 :Convention = "NEMO unified observation operator output" ; 408 403 } 409 \end{verbatim} 410 \end{alltt} 404 \end{ccode} 411 405 412 406 The mean dynamic … … 416 410 surface height. Below is an example header for this file (on the ORCA025 grid). 417 411 418 \begin{alltt} 419 \tiny 420 \begin{verbatim} 412 \begin{ccode} 421 413 dimensions: 422 414 x = 1442 ; … … 433 425 sossheig:units = "metres" ; 434 426 sossheig:grid = "orca025T" ; 435 \end{verbatim} 436 \end{alltt} 427 \end{ccode} 437 428 438 429 \subsection{Sea surface temperature feedback} 439 430 440 \begin{alltt} 441 \tiny 442 \begin{verbatim} 431 \begin{ccode} 443 432 netcdf sst_01 { 444 433 dimensions: … … 553 542 :Convention = "NEMO unified observation operator output" ; 554 543 } 555 \end{verbatim} 556 \end{alltt} 544 \end{ccode} 557 545 558 546 \section{Theoretical details} … … 935 923 read the second time counter from a single file the namelist would be. 936 924 937 \begin{alltt} 938 \tiny 939 \begin{verbatim} 925 \begin{fortrancode} 940 926 !---------------------------------------------------------------------- 941 927 ! namooo Offline obs_oper namelist … … 947 933 nn_ooo_idx = 2 948 934 / 949 \end{verbatim} 950 \end{alltt} 935 \end{fortrancode} 951 936 952 937 \subsubsection{Multiple fields per run} … … 956 941 12 hourly fields are to be interpolated in a setup where 288 steps equals 24 hours. 957 942 958 \begin{alltt} 959 \tiny 960 \begin{verbatim} 943 \begin{fortrancode} 961 944 !---------------------------------------------------------------------- 962 945 ! namooo Offline obs_oper namelist … … 970 953 nn_ooo_freq = 144 971 954 / 972 \end{verbatim} 973 \end{alltt} 955 \end{fortrancode} 974 956 975 957 The above namelist will result in feedback files whose first 12 hours contain … … 1079 1061 fields plus an analysis field would be 7 counterparts per observation. 1080 1062 1081 \begin{alltt} 1082 \tiny 1083 \begin{verbatim} 1063 \begin{fortrancode} 1084 1064 cl4_match_len = 7 1085 \end{verbatim} 1086 \end{alltt} 1065 \end{fortrancode} 1087 1066 1088 1067 Then to correctly allocate a class 4 file the forecast axis must be defined. This 1089 1068 is controlled via \textbf{cl4\_fcst\_len}, which in out above example would be 3. 1090 1069 1091 \begin{alltt} 1092 \tiny 1093 \begin{verbatim} 1070 \begin{fortrancode} 1094 1071 cl4_fcst_len = 3 1095 \end{verbatim} 1096 \end{alltt} 1072 \end{fortrancode} 1097 1073 1098 1074 Then for each model field it is necessary to designate what class 4 variable and … … 1101 1077 when interpreting the data afterwards. 1102 1078 1103 \begin{alltt} 1104 \tiny 1105 \begin{verbatim} 1079 \begin{fortrancode} 1106 1080 cl4_vars = "forecast" "forecast" "forecast" "persistence" "persistence" 1107 1081 "persistence" "best_estimate" 1108 1082 cl4_fcst_idx = 1 2 3 1 2 3 1 1109 1083 cl4_leadtime = 12 36 60 1110 \end{verbatim} 1111 \end{alltt} 1084 \end{fortrancode} 1112 1085 1113 1086 In terms of files and indices of fields inside each file the class 4 approach … … 1115 1088 with a single field per file our example inputs will be specified. 1116 1089 1117 \begin{alltt} 1118 \tiny 1119 \begin{verbatim} 1090 \begin{fortrancode} 1120 1091 ooo_files = "F.1.nc" "F.2.nc" "F.3.nc" "P.1.nc" "P.2.nc" "P.3.nc" "A.1.nc" 1121 1092 nn_ooo_idx = 1 1 1 1 1 1 1 1122 \end{verbatim} 1123 \end{alltt} 1093 \end{fortrancode} 1124 1094 1125 1095 When we combine all of the naming conventions, global attributes and i/o instructions 1126 1096 the class 4 namelist becomes. 1127 1097 1128 \begin{alltt} 1129 \tiny 1130 \begin{verbatim} 1098 \begin{fortrancode} 1131 1099 !---------------------------------------------------------------------- 1132 1100 ! namooo Offline obs_oper namelist … … 1176 1144 cl4_inst = "UK Met Office" 1177 1145 / 1178 \end{verbatim} 1179 \end{alltt} 1146 \end{fortrancode} 1180 1147 1181 1148 \subsubsection{Climatology interpolation} … … 1200 1167 operations, 1 per forecast. 1201 1168 1202 \begin{alltt} 1203 \tiny 1204 \begin{verbatim} 1169 \begin{fortrancode} 1205 1170 ooo_files = "F1.nc" "F1.nc" "F2.nc" "F2.nc" 1206 1171 ... 1207 1172 cl4_fcst_idx = 1 2 1208 \end{verbatim} 1209 \end{alltt} 1173 \end{fortrancode} 1210 1174 1211 1175 The above notation reveals the internal split between match up iterators and file … … 1239 1203 MPI run of NEMO offline obs\_oper into a single class 4 file. The program is called in the following way: 1240 1204 1241 \begin{alltt} 1205 1242 1206 \footnotesize 1243 \begin{ verbatim}1207 \begin{shcode} 1244 1208 c4comb.exe outputfile inputfile1 inputfile2 ... 1245 \end{verbatim} 1246 \end{alltt} 1209 \end{shcode} 1247 1210 1248 1211 \subsubsection{corio2fb} … … 1251 1214 standard feedback format. The program is called in the following way: 1252 1215 1253 \begin{alltt}1254 1216 \footnotesize 1255 \begin{ verbatim}1217 \begin{shcode} 1256 1218 corio2fb.exe outputfile inputfile1 inputfile2 ... 1257 \end{verbatim} 1258 \end{alltt} 1219 \end{shcode} 1259 1220 1260 1221 \subsubsection{enact2fb} … … 1263 1224 feedback format. The program is called in the following way: 1264 1225 1265 \begin{alltt}1266 1226 \footnotesize 1267 \begin{ verbatim}1227 \begin{shcode} 1268 1228 enact2fb.exe outputfile inputfile1 inputfile2 ... 1269 \end{verbatim} 1270 \end{alltt} 1229 \end{shcode} 1271 1230 1272 1231 \subsubsection{fbcomb} … … 1275 1234 MPI run of NEMO into a single feedback file. The program is called in the following way: 1276 1235 1277 \begin{alltt}1278 1236 \footnotesize 1279 \begin{ verbatim}1237 \begin{shcode} 1280 1238 fbcomb.exe outputfile inputfile1 inputfile2 ... 1281 \end{verbatim} 1282 \end{alltt} 1239 \end{shcode} 1283 1240 1284 1241 \subsubsection{fbmatchup} … … 1287 1244 in the following way: 1288 1245 1289 \begin{alltt}1290 1246 \footnotesize 1291 \begin{ verbatim}1247 \begin{shcode} 1292 1248 fbmatchup.exe outputfile inputfile1 varname1 inputfile2 varname2 ... 1293 \end{verbatim} 1294 \end{alltt} 1295 1249 \end{shcode} 1296 1250 1297 1251 \subsubsection{fbprint} … … 1301 1255 following way: 1302 1256 1303 \begin{alltt}1304 1257 \footnotesize 1305 \begin{ verbatim}1258 \begin{shcode} 1306 1259 fbprint.exe [options] inputfile 1307 1260 … … 1323 1276 -D print depths 1324 1277 -z use zipped files 1325 \end{verbatim} 1326 \end{alltt} 1278 \end{shcode} 1327 1279 1328 1280 \subsubsection{fbsel} … … 1331 1283 following way: 1332 1284 1333 \begin{alltt}1334 1285 \footnotesize 1335 \begin{ verbatim}1286 \begin{shcode} 1336 1287 fbsel.exe <input filename> <output filename> 1337 \end{verbatim} 1338 \end{alltt} 1288 \end{shcode} 1339 1289 1340 1290 \subsubsection{fbstat} … … 1343 1293 files. The program is called in the following way: 1344 1294 1345 \begin{alltt}1346 1295 \footnotesize 1347 \begin{ verbatim}1296 \begin{shcode} 1348 1297 fbstat.exe [-nmlev] <filenames> 1349 \end{verbatim} 1350 \end{alltt} 1298 \end{shcode} 1351 1299 1352 1300 \subsubsection{fbthin} … … 1355 1303 modified to thin to a different resolution. The program is called in the following way: 1356 1304 1357 \begin{alltt}1358 1305 \footnotesize 1359 \begin{ verbatim}1306 \begin{shcode} 1360 1307 fbthin.exe inputfile outputfile 1361 \end{verbatim} 1362 \end{alltt} 1308 \end{shcode} 1363 1309 1364 1310 \subsubsection{sla2fb} … … 1367 1313 called in the following way: 1368 1314 1369 \begin{alltt}1370 1315 \footnotesize 1371 \begin{ verbatim}1316 \begin{shcode} 1372 1317 sla2fb.exe [-s type] outputfile inputfile1 inputfile2 ... 1373 1318 1374 1319 Option: 1375 1320 -s Select altimeter data_source 1376 \end{verbatim} 1377 \end{alltt} 1321 \end{shcode} 1378 1322 1379 1323 \subsubsection{vel2fb} … … 1382 1326 is called in the following way: 1383 1327 1384 \begin{alltt}1385 1328 \footnotesize 1386 \begin{ verbatim}1329 \begin{shcode} 1387 1330 vel2fb.exe outputfile inputfile1 inputfile2 ... 1388 \end{verbatim} 1389 \end{alltt} 1331 \end{shcode} 1390 1332 1391 1333 \subsection{building the obstools} … … 1398 1340 observations and feedback files. It is possible to zoom in, plot individual profiles and 1399 1341 calculate some basic statistics. To plot some data run IDL and then: 1400 \begin{alltt}1401 1342 \footnotesize 1402 \begin{ verbatim}1343 \begin{minted}{idl} 1403 1344 IDL> dataplot, "filename" 1404 \end{verbatim} 1405 \end{alltt} 1345 \end{minted} 1406 1346 1407 1347 To read multiple files into dataplot, for example multiple feedback files from different 1408 1348 processors or from different days, the easiest method is to use the spawn command to generate 1409 1349 a list of files which can then be passed to dataplot. 1410 \begin{alltt}1411 1350 \footnotesize 1412 \begin{ verbatim}1351 \begin{minted}{idl} 1413 1352 IDL> spawn, 'ls profb*.nc', files 1414 1353 IDL> dataplot, files 1415 \end{verbatim} 1416 \end{alltt} 1354 \end{minted} 1417 1355 1418 1356 Fig~\ref{fig:obsdataplotmain} shows the main window which is launched when dataplot starts.
Note: See TracChangeset
for help on using the changeset viewer.