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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926
|
\documentclass[a4paper,11pt]{article}
\usepackage[latin1]{inputenc}
%\usepackage[a4paper=true,ps2pdf=true,pagebackref=true,breaklinks=true]{hyperref}
\usepackage{makeidx}
\makeindex
% to use index, after a first compilation, run makeindex *.idx file
% then command \printindex will incorporate the index in the latex file.
%Check if we are compiling under latex or pdflatex
\ifx\pdftexversion\undefined
\usepackage[dvips]{graphicx}
\else
\usepackage[pdftex]{graphicx}
\fi
\setlength{\textwidth}{16.5 cm}
\setlength{\textheight}{23.5 cm}
\topmargin 0 pt
\oddsidemargin 0 pt
\evensidemargin 0 pt
%
\begin{document}
\newcommand{\etal}{{\it et al.}}
\newcommand{\DegN}{$^{\circ}$N}
\newcommand{\DegW}{$^{\circ}$W}
\newcommand{\DegE}{$^{\circ}$E}
\newcommand{\DegS}{$^{\circ}$S}
\newcommand{\Deg}{$^{\circ}$}
\newcommand{\DegC}{$^{\circ}$C}
\newcommand{\DS}{ \renewcommand{\baselinestretch}{1.8} \tiny \normalsize}
\newcommand{\ST}{ \renewcommand{\baselinestretch}{1.2} \tiny \normalsize}
\newcommand{\ao}{add\_offset}
\newcommand{\SF}{scale\_factor}
\title{CDFTOOLS: a fortran 90 package of programs and libraries for diagnostic
of the DRAKKAR OPA9 output.\\
Part I : User Guide }
\author{J.M. Molines \thanks{Laboratoire des Ecoulements G\'eophysiques et Industriels, CNRS UMR 5519, Grenoble, France}\ }
\date{Last update: $ $Rev$ $ $ $Date$ $ }
\maketitle
\section*{Introduction}
This document describes a set of programs written in Fortran 90, used as diagnostic tools for
NEMO-OPA9 model output. This work has been initialized in the frame of the DRAKKAR project, where
large model configuration are run. For this reason, a special care has been taken to minimize the
required amount of memory. Also, most of the programs assume that the data base is DRAKKAR-like,
which means with one file per snap-shot, cdf variable names etc... Shell scripts are also indicated
as demo for how to use the programs. The user must carefully check all the variables in the scripts in
order to ensure the compatibility with its own settings.
The programs are sorted by category: Statistical (means, variance, RMS, EKE, etc ...), transport (mass,
heat, salt), derived quantities (densities, Brunt Vaisala frequency, potential vorticity) and extracting/information tools
(vertical profiles, position on the horizontal grid etc ...).
This package is open, and in order to help for new developments, all the netcdf IO (at the IOIPSL standard)
are collected in a unique module (cdfio.f90) which is used by the programs. In the same way the routines or
functions concerning the equation of state of sea water are also collected into the module eos.f90.
Developpers may read part II of this manual which is the programmer guide, where
functions and subroutines included in these modules are described.
\subsection*{Recently added tools}
\begin{description}
\item[cdflspv] : compute large scale potential vorticity (ie without relative vorticity)
\item[cdfgeo-uv] : compute geostrophic velocities from SSH
\item[cdfzeromean] : compute a zero-mean field.
\item[cdfmoyuv cdfmoyuvwt cdfnrjcomp cdfkempemekeepe cdfbti cdfbci] : ask Ang\'elique !
\item[cdfisopycdep] : compute isoypcnal depths.
\item[cdfsiginsitu] : compute in situ density.
\item[cdfsigintegr] : compute integral of a quantity between isopycnal surfaces.
\item[cdfvertmean] : compute vertical mean of a quantity between 2 horizontal levels.
\item[cdfpendep] : compute penetration depth (ratio of surface concentration to inventory) for passive tracers.
\item[cdfmoyt] : Just as cdfmoy but for instance, takes files with monthly fields (12) in it and return a monthly climatology.
\item[cdflinreg] : Evaluates the linear trend on a time series of intput files, for each variables in the file.
\item[cdfbuoyflx] : Evaluates the components of the fresh water flux, heat fluxes, and their respective buoyancy flux contribution.
\item[cdfwflx] : Evaluates the components of the fresh water flux.
\item[cdfmkmask] : Make a mask file from a standard gridT file using vosaline 0 values.
\item[cdfspeed] : Compute the modulus of a velocity field (checked for forcing field only).
\item[cdfmltmask] : Multiply a field by a mask: usefull for masking Levitus or forcing field.
\item[cdfweight] : A tool to compute a weight file for further colocalisation.
\item[cdfcoloc] : A tool to colocate model data on observed data, using a weight file fromCompute the modulus of a velocity field (checked for forcing field only).
\item[cdfbathy] : A tool to modify and tune nemo bathymetry.
\item[cdfstd] : Compute the standard deviation of variables from a series of files given as input.
\item[cdfmoy\_annual] : Compute an annual mean from monthly means, applying weights to take into account that monthly mean were not computed
with the same amount of data
\item[cdfclip] : Save functionality than nckss but does not change the order of the variables.
\item[cdfconvert] : Convert a set of dimg CLIPPER output file to DRAKKAR like netcdf file.
\item[cdfflxconv] : Convert a set of fluxes dimgfile (Clipper like) to a set of CDF files (Drakkar like )
\item[cdf16bit] : Convert a standard 32bits model output file into a 16 bit file, using scale\_factor and add\_offset
\item[cdfvita] : Compute surface ocean velocities components and module on the A-Grid (at T-points) from a opa C-grid input.
\item[cdfmeanvar] : Compute spatial 3D mean as well as corresponding variance.
\item[cdfstddevts] : Compute RMS for Temperature and Salinity. (goes together with cdfmoy\_sal2\_temp2).
\item[cdfmax] : Display min/max for a variable in a file with location.
\item[cdfmxlheatc] : Compute the Heat Content of the mixed layer ( J/m2).
\item[cdfmxlsaltc] : Compute the Salt Content of the mixed layer (kg/m2)
\item[cdfsigtrp] : Compute density class transport across a section.
\item[cdfzoom] : Show an ASCII representation of a 2D (x-y, x-z or y-z) slab from any variable of an output file.
\item[cdfmocsig] : Compute the MOC as a function of potential density ($\sigma_1$)
\item[cdficediags]: Compute sea ice area, extent and volume from an icemod output
\item[cdfzonalsum] : Compute the zonal sum of the variables in a file, may uses sub basins.
(useful for tracer inventory, for instance).
\end{description}
\newpage
\section{Statistics}
\subsection*{\underline{cdfmoy:}}
\addcontentsline{toc}{subsection}{cdfmoy}
\index{cdfmoy}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument.
\item[Usage:] {\em cdfmoy nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_gridT.nc or xxx\_gridU.nc). \
For instance: cdfmoy ORCA025-G32\_y0010m10d??\_gridT.nc will compute the mean 'gridT' file for month 10 of year 10.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, vozocrtx, vomecrty, vovecrtz are saved.
\item[Remark:] Assumes that land value are set to 0.
\item[Associated script:] {\em cdfmoy.ll}: This script is used in the DRAKKAR project to calculate monthly means, quarterly
means and annual means. This is a good example of how to use cdfmoy.\\
{\em cdfmoy-inter.ll}: This is a variant of the first script to compute inter-annual means.
\end{description}
\subsection*{\underline{cdfmoyt:}}
\addcontentsline{toc}{subsection}{cdfmoyt}
\index{cdfmoyt}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument, not scanning individual files.
\item[Usage:] {\em cdfmoyt nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_1m\_xxx.nc. \
For instance: cdfmoyt REYNOLDS\_SST\_1m\_1982.nc REYNOLDS\_SST\_1m\_1983.nc will compute a file with the average of the monthly field that are in the input files.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, vozocrtx, vomecrty, vovecrtz, sst are saved.
\item[Remark:] Assumes that land value are set to 0.
\end{description}
\subsection*{\underline{cdfmoy\_mpp:}}
\addcontentsline{toc}{subsection}{cdfmoy\_mpp}
\index{cdfmoy\_mpp}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument. This is a parallel version of cdfmoy (experimental).
Paralelization is done across the tags. For the future, it may be probably more interesting do parallelize for the levels...
\item[Usage:] {\em cdfmoy\_mpp nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_gridT.nc or xxx\_gridU.nc). \
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, vozocrtx, vomecrty, vovecrtz are saved.
\item[Remark:] Assumes that land value are set to 0.
\item[Associated script:] none
\end{description}
\subsection*{\underline{cdfmoy\_sp:}}
\addcontentsline{toc}{subsection}{cdfmoy\_sp}
\index{cdfmoy\_sp}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument, just as in cdfmoy. The only difference
is that land value (or missing values) are not necessarily 0. Useful when 0 have a physical meaning.
\item[Usage:] {\em cdfmoy\_sp nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_gridT.nc or xxx\_gridU.nc). \
For instance: cdfmoy\_sp ORCA025-G32\_y0010m10d??\_gridT.nc will compute the mean 'gridT' file for month 10 of year 10.
\item[Required mesh\_mask files or other files:] none
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, vozocrtx, vomecrty, vovecrtz are saved.
\item[Remark:]
\item[Associated scripts:] {\em cdfmoy\_sp.ll}: This is an example where it is necessary to use cdfmoy\_sp instead of
cdfmoy.
\end{description}
\subsection*{\underline{cdfmoy\_chsp:}}
\addcontentsline{toc}{subsection}{cdfmoy\_chsp}
\index{cdfmoy\_chsp}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument, just as in cdfmoy. The only difference
is that land value (or missing values) are not necessarily 0. Useful when 0 have a physical meaning. This version takes into account
missing value from input files, but write results with missing value = 0 (as in drakkar runs). Usefull for reformating MERA data.
\item[Usage:] {\em cdfmoy\_chsp nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_gridT.nc or xxx\_gridU.nc). \
For instance: cdfmoy\_chsp MERA11\_y0010m10d??\_gridT.nc will compute the mean 'gridT' file for month 10 of year 10.
\item[Required mesh\_mask files or other files:] none
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, vozocrtx, vomecrty, vovecrtz are saved.
\item[Remark:]
\item[Associated scripts:] none
\end{description}
\subsection*{\underline{cdfmoy\_sal2\_temp2:}}
\addcontentsline{toc}{subsection}{cdfmoy\_sal2\_temp2}
\index{cdfmoy\_sal2\_temp2}
\begin{description}
\item[Purpose:] As cdfmoy above: Compute the mean fields for the file list given in argument but additional quadratic means for temperature
and salinity are kept in the output file, if they appear in the input file.
\item[Usage:] {\em cdfmoy\_sal2\_temp2 nc\_files }
\item[Input:] A list of homogeneous model output files ({\em e.g.: } xxx\_gridT.nc or xxx\_gridU.nc). \
For instance: cdfmoy ORCA025-G32\_y0010m10d??\_gridT.nc will compute the mean 'gridT' file for month 10 of year 10.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 2 files are produced : {\em cdfmoy.nc} and {\em cdfmoy2.nc}. {\em cdfmoy.nc} holds the mean fields
for all the variables in the input files. {\em cdfmoy2.nc} holds the quadratic mean of some input variables (not all).
In the current version, the quadratic mean for sossheig, votemper, vosaline, vozocrtx, vomecrty, vovecrtz are saved.
\item[Remark:] Assumes that land value have are set to 0. If you have used this tools, it is likely that you want to compute temperature and
salinity variability. See {\bf cdfstdts} \index{cdfstdevts} for this purpose.
\item[Associated script:] You can adapt {\em cdfmoy.ll} and other for this case. Its almost the same. Only the content of the {\em cdfmoy2.nc} will differ.
\end{description}
\subsection*{\underline{cdfmoy\_annual:}}
\addcontentsline{toc}{subsection}{cdfmoy\_annual}
\index{cdfmoy\_annual}
\begin{description}
\item[Purpose:] Compute the mean fields for the file list given in argument.
\item[Usage:] {\em cdfmoy\_annual 12 monthly mean files (DRAKKAR like)}
\item[Input:] A list of homogeneous 12 monthly means.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 1 files are produced : {\tt cdfmoy\_annual.nc}
\item[Remark:] Assumes that land value are set to 0. This program is usefull for calculating the annual mean from the monthly means
calculated in DRAKKAR project. In this case, the weight applied to the months are 6 5 7 6 6 6 6 6 6 7. Anne-Marie claims that this
may change the computation of water mass balances.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfmoyuvwt:}}
\addcontentsline{toc}{subsection}{cdfmoyuvwt}
\index{cdfmoyuvwt}
\begin{description}
\item[Purpose:] Compute various time mean values for subsequent cdfbci or/and cdfbti.
\item[Usage:] {\em cdfmoyuvwt config imin imax jmin jmax listoftags }
\item[Input:] config is the conf-case name of the experiment, imin, imax, jmin, jmax, delimit a zoomed area, list of tags
gives the time tags to take into account in the time mean computation. This program assumes that gridT, gridU gridV and gridW
files for the given config and tags are present in the current directory.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] 1 files are produced : {\tt moyuvwt.nc} This file contains 11 variables
\begin{enumerate}
\item {\bf ubar}:temporal mean of u on U point
\item {\bf vbar}:temporal mean of v on V point
\item {\bf u2bar}: temporal mean of u * u on U point
\item {\bf v2bar}: temporal mean of v * v on V point
\item {\bf uvbar}: temporal mean of u * v on T point
\item {\bf wbar}: temporal mean of w on W point
\item {\bf tbar}: temporal mean of T on T point (in K)
\item {\bf utbar}: temporal mean of u * T (in K) on T point
\item {\bf vtbar}: temporal mean of v * T (in K) on T point
\item {\bf t2bar}: temporal mean of T * T (in $K^2$) on T point
\item {\bf wtbar}: temporal mean of w * T (in $K$) on T point
\end{enumerate}
\item[Associated script:] none
\item[Remark]: a cdfmoyuv program also exists, but is obsolete and replaced by this one.
\item[Author]: An\'elique Melet, ask for details.
\end{description}
\newpage
\subsection*{\underline{cdfmoy\_freq:}}
\addcontentsline{toc}{subsection}{cdfmoy\_freq}
\index{cdfmoy\_freq}
\begin{description}
\item[Purpose:] Compute time mean just as cdfmoy, but this program is adapted to deal with forcing files. It is designed for instance to compute monthly mean from a 6-hour forcing file
\item[Usage:] {\em cdfmou\_freq forcing\_file out\_frequency}
\item[Input:] Forcing file is given as input, and out\_frequency can be either {\em daily}, {\em monthly} or {\em annual}.
\item[Required mesh\_mask files or other files:] none
\item[Output:] Output netcdf file is cdfmoy\_daily or cdfmoy\_monthly or cdfmoy\_annual depending on the required output frequemcy. It contains the same variables than the input file.
\item[Remark/bugs :]
\item[Associated scripts:]
\end{description}
\newpage
\subsection*{\underline{cdfmean:}}
\addcontentsline{toc}{subsection}{cdfmean}
\index{cdfmean}
\begin{description}
\item[Purpose:] Compute the mean value of a field, weighted by the local metric. If the variable is a 3D variable,
the mean value is given for each level, then the global mean is printed. The mean value can be computed on a limited
domain, specified on the command line.
\item[Usage:] {\em cdfmean nc\_files nc\_var $T | U | V | F | W$ [ imin imax jmin jmax kmin kmax ] }
\item[Input:] nc\_file is the name of the netcdf file which hold the variable.
nc\_var is the netcdf variable name for the mean computation. If a wrong or dummy variable is given, the program
presents the list of available variables in the file, and ask for a choice.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variable nc\_var.
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
For instance: {\tt cdfmean ORCA025-G42\_y0010\_ANNUAL\_gridT.nc votemper T } will compute the mean temperature over
the whole domain.
{\tt cdfmean ORCA025-G42\_y0010\_ANNUAL\_gridT.nc xxx T } will ask a variable name from the list of variables contained
in the file. Careful, the type of point (T U V or F ) is not asked interactively; this is not really a problem as in most
of the OPA9 output, files are build for each type (gridT, gridU etc...).
{\tt cdfmean ORCA025-G42\_y0010\_ANNUAL\_gridU.nc vozocrtx U 300 320 400 653 0 0 } will compute the mean U-component
of the velocity on a horizontally limited area, for the whole water column.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the mean will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate mean values for each level are also
displayed.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\newpage
\subsection*{\underline{cdfmean-full:}}
\addcontentsline{toc}{subsection}{cdfmean-full}
\index{cdfmean-full}
\begin{description}
\item[Purpose:] Compute the mean value of a field, weighted by the local metric. If the variable is a 3D variable,
the mean value is given for each level, then the global mean is printed. The mean value can be computed on a limited
domain, specified on the command line. This is the -full version (full steps) of cdfmean.
\item[Usage:] {\em cdfmean-full nc\_files nc\_var $T | U | V | F | W$ [ imin imax jmin jmax kmin kmax ] }
\item[Input:] nc\_file is the name of the netcdf file which hold the variable.
nc\_var is the netcdf variable name for the mean computation. If a wrong or dummy variable is given, the program
presents the list of available variables in the file, and ask for a choice.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variable nc\_var.
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
For instance: {\tt cdfmean-full ORCA025-G42\_y0010\_ANNUAL\_gridT.nc votemper T } will compute the mean temperature over
the whole domain.
{\tt cdfmean-full ORCA025-G42\_y0010\_ANNUAL\_gridT.nc xxx T } will ask a variable name from the list of variables contained
in the file. Careful, the type of point (T U V or F ) is not asked interactively; this is not really a problem as in most
of the OPA9 output, files are build for each type (gridT, gridU etc...).
{\tt cdfmean-full ORCA025-G42\_y0010\_ANNUAL\_gridU.nc vozocrtx U 300 320 400 653 0 0 } will compute the mean U-component
of the velocity on a horizontally limited area, for the whole water column.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the mean will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate mean values for each level are also
displayed.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\newpage
\subsection*{\underline{cdfsum:}}
\addcontentsline{toc}{subsection}{cdfsum}
\index{cdfsum}
\begin{description}
\item[Purpose:] Compute the sum value of the field (3D, weighted).
\item[Usage:] {\em cdfsum nc\_file nc\_var $T| U | V | F | W$ [imin imax jmin jmax kmin kmax] }
\item[Input:] nc\_file is the name of the netcdf file which hold the variable. nc\_var is the netcdf variable name for the
sum computation.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variable nc\_var.
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the sum value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
\item[Required mesh\_mask files or other files:] iles mesh\_hgr.nc, mesh\_zgr.nc ,mask.nc
\item[Output:] done on standard output
\item[Remark/bugs :] This program can be used for computing inventory, for instance.
\item[Associated scripts:] none
\end{description}
\newpage
\newpage
\subsection*{\underline{cdfzeromean:}}
\addcontentsline{toc}{subsection}{cdfzeromean}
\index{cdfzeromean}
\begin{description}
\item[Purpose:] Compute the mean value of a field, weighted by the local metric. If the variable is a 3D variable,
the mean value is given for each level, then the global mean is printed. The mean value can be computed on a limited
domain, specified on the command line. Then, the overall mean value is rested from the initial field, in order to produce
a zero-mean field.
\item[Usage:] {\em cdfzeromean nc\_files nc\_var $T | U | V | F | W$ [ imin imax jmin jmax kmin kmax ] }
\item[Input:] nc\_file is the name of the netcdf file which hold the variable.
nc\_var is the netcdf variable name for the mean computation. If a wrong or dummy variable is given, the program
presents the list of available variables in the file, and ask for a choice.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variable nc\_var.
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0. The mean value is computed on this local domain. It is rested from the whole domain in the output file.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the mean will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate mean values for each level are also
displayed. A netcdf file (zeromean.nc) is created with the zero-meaned variable, same name and attributes, except the long name
which indicates that the variable has been modified.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\newpage
\subsection*{\underline{cdfvertmean:}}
\addcontentsline{toc}{subsection}{cdfvertmean}
\index{cdfvertmean}
\begin{description}
\item[Purpose:] Compute the vertical average of a scalar quantity between z layers
\item[Usage:] {\em cdfvertmean nc\_file nc\_var $T | U | V | F | W$ z1 z2 } Partial steps.
\item[Input:] nc\_file is the data file holding 3D variable nc\_var. The user must specify on which grid point type
this variable is ( $T | U | V | F | W$ ) and the deptht (m) z1 and z2 limiting 2 horizontal layers used for the vertical mean.
\item[Required mesh\_mask files or other files:] mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] The output is done on the file {\tt vertmean.nc} with the 2D variable (same unit as nc\_var) {\tt sovertmean}
\item[Remark:]
\end{description}
\newpage
\subsection*{\underline{cdfmeanvar:}}
\addcontentsline{toc}{subsection}{cdfmeanvar}
\index{cdfmeanvar}
\begin{description}
\item[Purpose:] This program is very similar to the previous in the list: It computes the mean value of a field, and its
spatial variance, weighted by the local metric. If the variable is a 3D variable,
the mean value and variance are given for each level, then the global mean/variance are printed. The mean/variance values can be
computed on a limited domain, specified on the command line.
\item[Usage:] {\em cdfmeanvar nc\_files nc\_var $T | U | V | F | W$ [ imin imax jmin jmax kmin kmax ] }
\item[Input:] nc\_file is the name of the netcdf file which hold the variable.
nc\_var is the netcdf variable name for the mean computation. If a wrong or dummy variable is given, the program
presents the list of available variables in the file, and ask for a choice.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variable nc\_var.
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
For instance: {\tt cdfmeanvar ORCA025-G42\_y0010\_ANNUAL\_gridT.nc votemper T } will compute the mean temperature over
the whole domain.
{\tt cdfmeanvar ORCA025-G42\_y0010\_ANNUAL\_gridT.nc xxx T } will ask a variable name from the list of variables contained
in the file. Careful, the type of point (T U V or F ) is not asked interactively; this is not really a problem as in most
of the OPA9 output, files are build for each type (gridT, gridU etc...).
{\tt cdfmeanvar ORCA025-G42\_y0010\_ANNUAL\_gridU.nc vozocrtx U 300 320 400 653 0 0 } will compute the mean U-component
of the velocity on a horizontally limited area, for the whole water column.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the mean will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate mean values for each level are also
displayed.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\newpage
\subsection*{\underline{cdfheatc:}}
\addcontentsline{toc}{subsection}{cdfheatc}
\index{cdfheatc}
\begin{description}
\item[Purpose:] Compute the heat content for the ocean in a given 3D domain (or the whole domain).
The heat content (Joules) is computed and given for each levels, then the global heat content (J) is printed, as well as the heat
content per unit of volume (J/m3). A sub-domain can be specified on the command line.
\item[Usage:] {\em cdfheatc gridTfiles [ imin imax jmin jmax kmin kmax ] }
\item[Input:] gridTfile is the name of the netcdf file which holds $votemper$. \\
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
For instance: {\tt cdfheatc ORCA025-G42\_y0010\_ANNUAL\_gridT.nc } will compute the heat content over
the whole domain.
{\tt cdfheatc ORCA025-G42\_y0010\_ANNUAL\_gridT.nc 300 320 400 653 0 0 } will compute the heat content
on a horizontally limited area, for the whole water column.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the heat content will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate values for each level are also
displayed.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\subsection*{\underline{cdfheatc-full:}}
\addcontentsline{toc}{subsection}{cdfheatc-full}
\index{cdfheatc-full}
\begin{description}
\item[Purpose:] Compute the heat content for the ocean in a given 3D domain (or the whole domain).
The heat content (Joules) is computed and given for each levels, then the global heat content (J) is printed, as well as the heat
content per unit of volume (J/m3). A sub-domain can be specified on the command line. This is the FULL STEP version
\item[Usage:] {\em cdfheatc gridTfiles [ imin imax jmin jmax kmin kmax ] }
\item[Input:] gridTfile is the name of the netcdf file which holds $votemper$. \\
imin imax jmin jmax kmin kmax : optional parameters. If used, all 6 must be specified. They indicate the limited
area (in i,j,k coordinates) where the mean value will be computed. The user can specify 0 as input, which means that
the corresponding coordinate will be considered for the whole extent; in this case the pair of coordinates must be set
to 0.
For instance: {\tt cdfheatc-full ORCA025-G04\_y0010\_ANNUAL\_gridT.nc } will compute the heat content over
the whole domain.
{\tt cdfheatc-full ORCA025-G04\_y0010\_ANNUAL\_gridT.nc 300 320 400 653 0 0 } will compute the heat content
on a horizontally limited area, for the whole water column.
Other valid specifications for the limited area
can be, for example : 0 0 400 600 1 15 : the heat content will be computed for the upper 15 levels, for a whole zonal band starting
at j=400 and ending at j=600.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are printed on the standard output. For 3D fields, intermediate values for each level are also
displayed.
\item[Remark/bugs :] In this version, no special care has been taken to handle neither the periodic grids, nor the north folding conditions.
This will be done in a future release.
\item[Associated scripts:] {None. This program is more typically an interactive program. As it is written, it can handle grids as big
as ORCA025 on a small Linux machine (with only 512 Mb of core memory).}
\end{description}
\newpage
\subsection*{\underline{cdfmxlheatc-full:}}
\addcontentsline{toc}{subsection}{cdfmxlheatc-full}
\index{cdfmxlheatc-full}
\begin{description}
\item[Purpose:] Compute the heat content for the ocean in the mixed layer read in the gridT file, FULL STEP case.
\item[Usage:] {\em cdfmxlheatc-full gridTfile }
\item[Input:] gridTfile is the name of the netcdf file which holds $votemper$ and $somxl010$ \\
\item[Required mesh\_mask files or other files:] mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are written in the netcdf file mxlheatc.nc, in the variable $somxlheatc$. Units are Joules/m2
\end{description}
\subsection*{\underline{cdfmxlsaltc:}}
\addcontentsline{toc}{subsection}{cdfmxlsaltc}
\index{cdfmxlsaltc}
\begin{description}
\item[Purpose:] Compute the salt content for the ocean in the mixed layer read in the gridT file.
\item[Usage:] {\em cdfmxlsaltc gridTfile }
\item[Input:] gridTfile is the name of the netcdf file which holds $votemper$ and $somxl010$ \\
For instance: {\tt cdfmxlsaltc ORCA025-G42\_y0010\_m03d15\_gridT.nc } will compute the salt content in the mixed layer for this file.
\item[Required mesh\_mask files or other files:] mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are written in the netcdf file mxlsaltc.nc, in the variable $somxlsaltc$. Units are kg/m2
\item[Associated scripts:] {None.}
\end{description}
\subsection*{\underline{cdfmxlhcsc:}}
\addcontentsline{toc}{subsection}{cdfmxlhcsc}
\index{cdfmxlhcsc}
\begin{description}
\item[Purpose:] Compute the heat content and Salt content in the mixed layer. One can choose a temperature criteria or a density criteria for the mxl
determination. The Heat/Salt content can be limited to a fraction of the MLD (for instance avoiding near surface layers).
\item[Usage:] {\em cdfmxlhcsc gridTfile crit val [hmin] }
\item[Input:] gridTfile is the name of the netcdf file which holds $votemper$ \\
crit can be 'density' or 'temperature' \\
val is tha value for the criteria (e.g. -0.2 for temp, 0.01 or 0.03 for density). \\
hmin is 0 by default. If another value is given, then the vertical integral is limited to [hmin,mld]
\item[Required mesh\_mask files or other files:] mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] Results are written in the netcdf file mxlhcsc.nc. Variables are either \\
somxl010 (mld based on density criterium 0.01) \\
somxl030 (mld on density criterium 0.03) \\
somxlt02 (mld on temperature criterium -0.2) \\
Then always : somxlheatc and somxlsaltc
\item[Associated scripts:] {None.}
\end{description}
\newpage
\subsection*{\underline{cdfzonalmean:}}
\addcontentsline{toc}{subsection}{cdfzonalmean}
\index{cdfzonalmean}
\begin{description}
\item[Purpose:] Compute the zonal mean value for all the variables in the file given as argument.
\item[Usage:] {\em cdfzonalmean nc\_files $T | U | V | F | W$ [ sub\_basin\_mask ]}
\item[Input:] nc\_file is the name of the netcdf file which hold the variables.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variables in the file.
sub\_basin\_mask: If given the program read this file to set a sub\_basin\_mask (for global configurations). If this argument
is not given, then the zonal mean is assumed to be global, which is OK for a basin configuration, such as NATL4, for instance.
For instance: {\tt cdfzonalmean ORCA025-G42\_y0010\_ANNUAL\_gridT.nc T } will compute the zonal mean temperature over
the whole domain; the resulting variable is a 2D variable (latitude,depth).
{\tt cdfzonalmean ORCA025-G42\_y0010\_ANNUAL\_gridT.nc T new\_maskglo} will compute the zonal mean of all the variables contained
in the file. A zonal mean for each sub basin will be output.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] The program outputs as many variables as there are in the input file times the number of sub-basin (5) if the sub-basin
mask is given. Variables name starts with 'zo' which replaces the 'vo' or 'so' of the input variable. The name of the sub basin is then
appended to the variable name: For instance, zonal mean for votemper gives (in case of sub-basins) : $zotemper\_glo, zotemper\_atl
zotemper\_inp, zotemper\_ind zotemper\_pac$.
\item[Associated scripts:] {None}
\end{description}
\newpage
\subsection*{\underline{cdfzonalsum:}}
\addcontentsline{toc}{subsection}{cdfzonalsum}
\index{cdfzonalsum}
\begin{description}
\item[Purpose:] Compute the zonal sum value for all the variables in the file given as argument.
\item[Usage:] {\em cdfzonalsum nc\_files $T | U | V | F | W$ [ sub\_basin\_mask ]}
\item[Input:] nc\_file is the name of the netcdf file which hold the variables.
$ T | U | V | F | W $ : specify the point on the C-grid, corresponding to the variables in the file.
sub\_basin\_mask: If given the program read this file to set a sub\_basin\_mask (for global configurations). If this argument
is not given, then the zonal sum is assumed to be global, which is OK for a basin configuration, such as NATL4, for instance.
For instance: {\tt cdfzonalsum ORCA025-G50\_y1958\_ANNUAL\_ptrcT.nc T } will compute the zonal sum
of the variables over the whole domain; the resulting variable is a 2D variable (latitude,depth), or just
a vector (latitude) if the input variable is already a 2D horizontal variable (inventory, for instance).
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc must be in the current directory.
\item[Output:] The program outputs as many variables as there are in the input file times the number of sub-basin (5) if the sub-basin
mask is given. Variables name starts with 'zo' which replaces the 'vo' or 'so' of the input variable. The name of the sub basin is then
appended to the variable name: For instance, zonal sum for votemper gives (in case of sub-basins) : $zotemper\_glo, zotemper\_atl
zotemper\_inp, zotemper\_ind zotemper\_pac$.
\item[Associated scripts:] {see cdftrc.ll}
\item[See also:] cdfzonalout : this a formatting tool to print ASCII results in a good shape for the 1D results produced as ncdf by cdfzonalsum.
\end{description}
\newpage
\subsection*{\underline{cdfzonalout:}}
\addcontentsline{toc}{subsection}{cdfzonalout}
\index{cdfzonalout}
\begin{description}
\item[Purpose:] Produce a nice ASCII output for 1D variables resulting from cdfzonalsum, or cdfzonalmean
\item[Usage:] {\em cdfzonalout zonalsum.nc }
\item[Input:] zonalsum.nc is a netcdf file output from cdfzonalsum or cdfzonalmean
\item[Output:] Output is done on stantard output (can be re-directed to a file via $>$)
\item[Associated scripts:] {see cdftrc.ll}
\end{description}
\begin{verbatim}
Number of 1D variables : 6
zoinvcfc_glo
zoinvc14_glo
zoqtrcfc_glo
zoqtrc14_glo
zoqintcfc_glo
zoqintc14_glo
npiglo= 1
npjglo= 1021
npk = 46
J LAT zoinvcfc_glo zoinvc14_glo
1021 89.8876 0.114485E-06 1639.13867
1020 89.9478 0.114504E-06 1660.38854
1019 89.8876 0.114485E-06 1639.13867
1018 89.7937 0.112609E-06 1521.98022
1017 89.6954 0.111228E-06 1462.95922
1016 89.5956 0.110859E-06 1355.69262
1015 89.4949 0.109885E-06 1315.38806
1014 89.3935 0.109691E-06 1265.77246
1013 89.2915 0.109644E-06 1211.48840
1012 89.1890 0.108149E-06 1163.96777
1011 89.0860 0.105885E-06 1132.33557
1010 88.9825 0.103872E-06 1096.84130
.....
\end{verbatim}
\newpage
\subsection*{\underline{cdfvT:}}
\addcontentsline{toc}{subsection}{cdfvT}
\index{cdfvT}
\begin{description}
\item[Purpose:] Compute the mean UT, US, VT, VS for transport computation.
\item[Usage:] {\em cdfvT CONFIG 'list\_of\_tags' }
\item[Input:] CONFIG is the valid config name ( e.g. ORCA025-G32, NATL4-B01, ORCA05-K18 ...). In general
model output files are build as \$CONFIG\_\$tag\_grid?.nc. The tag part of the name is usually something like
y0008m09d10 for instance, but virtually, it is the part of the name between \$CONFIG\_ and \_grid.\\
list\_of\_tags is just the succession of the tags that are to be used in the mean. \\
When using cdfvT, we assume that all the data files ( i.e. gridT, gridU and gridV files for the given CONFIG and
tags) are in the current directory.
For instance: cdfvT ORCA025-G32 y0010m10d01 y0010m10d06 y0010m10d11 will compute the mean UT etc fields for the 3
given tags.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em vt.nc}. This file contains the four 3-D variables vozout, vozous, vomevt, vomevs.
\item[Remark:] For the sake of simplicity, only one file is used as output, but one should remember that
the U-transports (UT and US) are computed at the C-grid U-point, and that the V-transports (VT and VS) are
computed at the C-grid V-point. In fact, temperature and salinity are interpolated on the corresponding
velocity point, in order to respect mass conservation.
\item[Associated script:] {\em cdfvT.ll}: This script is used in the DRAKKAR project to compute the monthly, quarterly and
annual means for the UT US VT VS terms.\\
{\em cdfvT-inter}: This is a variant of the first script for inter-annual means.
\end{description}
\subsection*{\underline{cdfvsig:}}
\addcontentsline{toc}{subsection}{cdfvsig}
\index{cdfvsig}
\begin{description}
\item[Purpose:] Compute the mean u$.$sigma, v$.$sigma and w$.$sigma from tags given as arguments
\item[Usage:] {\em cdfvsig CONFIG 'list\_of\_tags' }
\item[Input:] CONFIG is the valid config name ( e.g. ORCA025-G32, NATL4-B01, ORCA05-K18 ...).
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em usig.nc, vsig.nc, wsig.nc}. Each of these files contains the variables (eg for u files) \\
vousig = 3D mean product u x sigma \\
vosigu = 3D mean density field at u-points \\
vozocrtx = 3D mean velocity computed exactly as the other fields
\item[Remark:] All variables can be used to compute the eddy contribution.
\item[Associated script:] {\em cdfvsig.ll}:
\end{description}
\newpage
\subsection*{\underline{cdfeke:}}
\addcontentsline{toc}{subsection}{cdfeke}
\index{cdfeke}
\begin{description}
\item[Purpose:] Compute the Eddy Kinetic Energy (EKE).
\item[Usage:] {\em cdfeke gridU gridU2 gridV gridV2 gridT}
\item[Input:] gridU and gridU2 hold respectively the mean and quadratic mean for U-points. The same for gridV and
gridV2. These files are produced by cdfmoy. They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means). The EKE is computed with respect to this period of time. \\
An extra gridT type file is given in argument, just for reading the T-grid, for the header of the output file. In fact,
EKE is computed on the T-points.\\
For instance: cdfeke ORCA035-G32\_y0008-0010\_gridU.nc ORCA035-G32\_y0008-0010\_gridU2.nc \\
ORCA035-G32\_y0008-0010\_gridV.nc ORCA035-G32\_y0008-0010\_gridV2.nc ORCA035-G32\_y0008-0010\_gridT2.nc \\
will compute the EKE for the period y0008-0010.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em eke.nc}. This file hold the variable voeke.
\item[Remark:] EKE is computed at T-points.
\item[Associated script:] {\em cdfeke.ll}: This script can be used to compute EKE. It is a good
example on how to use cdfeke. Note that this script must be used after cdfmoy.ll, because it requires the mean and
mean quadratic files to be already computed.
\end{description}
\newpage
\subsection*{\underline{cdfrmsssh:}}
\addcontentsline{toc}{subsection}{cdfrmsssh}
\index{cdfrmsssh}
\begin{description}
\item[Purpose:] Compute the RMS of the SSH.
\item[Usage:] {\em cdfrmsssh gridT gridT2 }
\item[Input:] gridT and gridT2 hold respectively the mean and quadratic mean for T-points.
These files are produced by cdfmoy. They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means). The RMS is computed with respect to this period of time. \\
For instance: cdfrmsssh ORCA035-G32\_y0008-0010\_gridT.nc ORCA035-G32\_y0008-0010\_gridT2.nc \\
will compute the RMS SSH for the period y0008-0010.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em rmsssh.nc}. This file hold the variable sossheig\_rms.
\item[Remark:]
\item[Associated script:] {\em cdfrms.ll}: This scripts is use to compute both RMS ssh and the Stdev of W.
\end{description}
\newpage
\subsection*{\underline{cdfstdevw:}}
\addcontentsline{toc}{subsection}{cdfstdevw}
\index{cdfstdevw}
\begin{description}
\item[Purpose:] Compute the standard deviation for W.
\item[Usage:] {\em cdfstdevw gridW gridW2 }
\item[Input:] gridW and gridW2 hold respectively the mean and quadratic mean for W-points.
These files are produced by cdfmoy. They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means). The standard deviation is computed with respect to this period of time. \\
For instance: cdfstdevw ORCA035-G32\_y0008-0010\_gridW.nc ORCA035-G32\_y0008-0010\_gridW2.nc \\
will compute the standard deviation of W for the period y0008-0010.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em rmsw.nc}. This file hold the variable vovecrtz\_rms.
\item[Remark:]
\item[Associated script:] {\em cdfrms.ll}: This scripts is use to compute both RMS ssh and the Stdev of W.
\end{description}
\newpage
\subsection*{\underline{cdfstdevts:}}
\addcontentsline{toc}{subsection}{cdfstdevts}
\index{cdfstdevts}
\begin{description}
\item[Purpose:] Compute the standard deviation for temperature and salinity
\item[Usage:] {\em cdfstdevts gridX gridX2 }
\item[Input:] gridX and gridX2 hold respectively the mean and quadratic mean for T-points.
These files are produced by cdfmoy\_sal2\_temp2. They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means). The standard deviation is computed with respect to this period of time. \\
For instance: cdfstdevts ORCA035-G32\_y0008-0010\_gridT.nc ORCA035-G32\_y0008-0010\_gridT2.nc \\
will compute the standard deviation of T and D for the period y0008-0010.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em rmsts.nc}. This file hold the variables votemper\_rms and vosaline\_rms
\item[Remark:] This quantity is not a very standard one. For this reason, we keep the standard cdfmoy, without saving the second order
momentum for T and S and create a special tool cdfmoy\_sal2\_temp2 for this purpose. Remember that both T2 and S2 are 3D fields...
\item[Associated script:] none.
\end{description}
\newpage
\subsection*{\underline{cdfstd:}}
\addcontentsline{toc}{subsection}{cdfstd}
\index{cdfstd}
\begin{description}
\item[Purpose:] Compute the standard deviation for all the physical variables of the serie of files given as input
\item[Usage:] {\em cdfstd list of files }
\item[Input:] The input files are model output files, all holding the same variables. Each file can have more than 1 time frame in it.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em cdfstd.nc}. This file hold the standard deviation of the variables,whose name will be {\tt varname\_std}
\item[Associated script:] none.
\item[Contributor:] Frederic Castruccio (Meom)
\end{description}
\newpage
\subsection*{\underline{cdflinreg:}}
\addcontentsline{toc}{subsection}{cdflinreg}
\index{cdflinreg}
\begin{description}
\item[Purpose:] Compute the linear regression coeficients as well as the $r^2$ estimator of the fit, for all the variables
being in the time series of files given on input.
\item[Usage:] {\em cdflinreg list of files }
\item[Input:] Input files are model files output that may hold one or more time frames.
\item[Required mesh\_mask files or other files:] none
\item[Method:] $y$ being the working variables, the program determines $a$ and $b$ such as the the right $\hat{y}=a.t+b$ corresponds
to the best fit for the data. (Least squared sense). \\
$a=cov(t,y)/var(t)$ and $b=\bar{y} - a . \bar{t}$ \\
$r^2=a^2.var(t)/var(y)$
\item[Output:] {\em linreg.nc}. For each variable of the input files, there are 3 output variables, says $y\_areg$, $y\_breg$ and
$y\_r2$. The time is taken from the input files (standard in seconds since the begining of the run), and converted in years
(365 days). Therefore, when using the regression equation, take care of the time origin and units.
\item[Associated script:] cdflinreg.ksh
\end{description}
\newpage
\section{Transports}
\subsection*{\underline{cdfmhst:}}
\addcontentsline{toc}{subsection}{cdfmhst}
\index{cdfmhst}
\begin{description}
\item[Purpose:] Compute the Meridional Heat and Salt Transport (Partial Step case).
\item[Usage:] {\em cdfmhst VTfile [MST] }
\item[Input:] VTfiles are the files produced by the cdfvT program.//
MST is an optional keyword for saving also Meridional Salt Transport to a netcdf file.//
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means).
For instance: cdfmhst ORCA025-G32\_y0010m01\_VT.nc
will compute the meridional heat and salt transport for month 1 of year 0010 for the ORCA025-G32 experiment. Only the MHT
will be saved to the netcdf file mhst.nc
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc ,mask.nc, new\_maskglo.nc \\
This latter file holds sub basin 2D masks; if it does'nt exist, only the global mask is taken into account, which is usefull for regional configs such as NATL4.
\item[Output:] zonal\_heat\_trp.dat and zonal\_salt\_trp.dat which are ASCII files. It also writes the result on mhst.nc
file, a netcdf file. If no MST option is given on the command line, only MHT is copied to the cdf file. The ASCII files
remain the same.
\\Example for zonal\_heat\_trp.dat
\begin{scriptsize}
\begin{verbatim}
Zonal heat transport (integrated along I-model coordinate) (in Pw)
J Global Atlantic Pacific Indian Mediterranean Austral
...
580 19.959 1.9821 19.959 1.0471 19.959 0.8080 19.959 0.1460 999.000 0.0000 999.000 0.0000
579 19.723 1.9769 19.724 1.0465 19.724 0.8108 19.724 0.1528 999.000 0.0000 999.000 0.0000
578 19.488 1.9650 19.488 1.0429 19.488 0.8054 19.488 0.1575 999.000 0.0000 999.000 0.0000
577 19.252 1.9512 19.252 1.0388 19.252 0.7975 19.252 0.1608 999.000 0.0000 999.000 0.0000
576 19.016 1.9334 19.016 1.0334 19.016 0.7840 19.016 0.1650 999.000 0.0000 999.000 0.0000
575 18.779 1.9103 18.779 1.0252 18.779 0.7615 18.779 0.1712 999.000 0.0000 999.000 0.0000
574 18.543 1.8792 18.543 1.0173 18.543 0.7235 18.543 0.1778 999.000 0.0000 999.000 0.0000
573 18.305 1.8406 18.305 1.0007 18.305 0.6837 18.305 0.1818 999.000 0.0000 999.000 0.0000
572 18.068 1.8064 18.068 0.9856 18.068 0.6455 18.068 0.1849 999.000 0.0000 999.000 0.0000
571 17.830 1.7768 17.830 0.9721 17.830 0.6171 17.830 0.1876 999.000 0.0000 999.000 0.0000
570 17.592 1.7494 17.592 0.9582 17.592 0.6000 17.592 0.1911 999.000 0.0000 999.000 0.0000
...
\end{verbatim}
\end{scriptsize}
First column indicates the corresponding J coordinate. Then pairs of column indicates the mean latitude and
the transport. Heat transports are in Pw. Salt transports are in KT/s
\item[Remark:] missing values are indicated by 999.000
\item[Associated script:] {\em cdfmhst.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfmhst-full:}}
\addcontentsline{toc}{subsection}{cdfmhst-full}
\index{cdfmhst-full}
\begin{description}
\item[Purpose:] Compute the Meridional Heat and Salt Transport (Full Step case).
\item[Usage:] {\em cdfmhst-full VTfile [MST] }
\item[Input:] VTfiles are the files produced by the cdfvT program.//
MST is an optional keyword for saving also Meridional Salt Transport to a netcdf file.//
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means).
For instance: cdfmhst-full ORCA025-G04\_y0010m01\_VT.nc
will compute the meridional heat and salt transport for month 1 of year 0010 for the ORCA025-G04 experiment. Only the MHT
will be saved to the netcdf file mhst.nc.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc ,mask.nc, new\_maskglo.nc \\
This latter file holds sub basin 2D masks.
\item[Output:] zonal\_heat\_trp.dat and zonal\_salt\_trp.dat which are ASCII files. It also writes the result on mhst.nc
file, a netcdf file. If no MST option is given on the command line, only MHT is copied to the cdf file. The ASCII files
remain the same.
\\Example for zonal\_heat\_trp.dat
\begin{scriptsize}
\begin{verbatim}
Zonal heat transport (integrated alon I-model coordinate) (in Pw)
J Global Atlantic Pacific Indian Mediterranean Austral
...
580 19.959 1.9821 19.959 1.0471 19.959 0.8080 19.959 0.1460 999.000 0.0000 999.000 0.0000
579 19.723 1.9769 19.724 1.0465 19.724 0.8108 19.724 0.1528 999.000 0.0000 999.000 0.0000
578 19.488 1.9650 19.488 1.0429 19.488 0.8054 19.488 0.1575 999.000 0.0000 999.000 0.0000
577 19.252 1.9512 19.252 1.0388 19.252 0.7975 19.252 0.1608 999.000 0.0000 999.000 0.0000
576 19.016 1.9334 19.016 1.0334 19.016 0.7840 19.016 0.1650 999.000 0.0000 999.000 0.0000
575 18.779 1.9103 18.779 1.0252 18.779 0.7615 18.779 0.1712 999.000 0.0000 999.000 0.0000
574 18.543 1.8792 18.543 1.0173 18.543 0.7235 18.543 0.1778 999.000 0.0000 999.000 0.0000
573 18.305 1.8406 18.305 1.0007 18.305 0.6837 18.305 0.1818 999.000 0.0000 999.000 0.0000
572 18.068 1.8064 18.068 0.9856 18.068 0.6455 18.068 0.1849 999.000 0.0000 999.000 0.0000
571 17.830 1.7768 17.830 0.9721 17.830 0.6171 17.830 0.1876 999.000 0.0000 999.000 0.0000
570 17.592 1.7494 17.592 0.9582 17.592 0.6000 17.592 0.1911 999.000 0.0000 999.000 0.0000
...
\end{verbatim}
\end{scriptsize}
First column indicates the corresponding J coordinate. Then pairs of column indicates the mean latitude and
the transport. Heat transports are in Pw. Salt transports are in KT/s
\item[Remark:] missing values are indicated by 999.000
\item[Associated script:] {\em cdfmhst-full.ll}
\end{description}
\newpage
\subsection*{\underline{cdfhflx:}}
\addcontentsline{toc}{subsection}{cdfhflx}
\index{cdfhflx}
\begin{description}
\item[Purpose:] Compute the Meridional Heat Transport from the forcing fields
\item[Usage:] {\em cdfhflx gridTfile }
\item[Input:] gridTfile is a file which hold the flux variable $sohefldo$.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, new\_maskglo.nc \\
This latter file holds sub basin 2D masks; if it does'nt exist, only the global mask is taken into account, which is usefull for regional configs such as NATL4.
\item[Output:] Results are displayed on the standard output, with columns corresponding to sub basins.
\item[Remark:] This computation is relative to the starting point of the integration. Transports are
assumed to vanish at the northern point of the domain.
\item[Associated script:] none for the moment.
\end{description}
\subsection*{\underline{cdfwflx:}}
\addcontentsline{toc}{subsection}{cdfwflx}
\index{cdfwflx}
\begin{description}
\item[Purpose:] Compute the different components of the water flux. (evaporation, precipitation, runoff, sss damping, total
water flux).
\item[Usage:] {\em cdfwflx gridTfile runofffile}
\item[Input:] gridTfile is a file which hold the flux variables.\\
runofffile is the file with the runoff variable $sorunoff$.
\item[Required mesh\_mask files or other files:] none
\item[Output:] Output is done on wflx.nc file. Variables are evap (mm/day), precip (mm/day), sssdmp (mm/day), runoff (mm/day),
watnet (mm/day). The runoff is directly read from the file, as well as the sss damping. Evaporation is deduced from the
latent heat flux, stored on the gridT file ($Evap=-Q_{lat}/L_v$). Precip is deduced from the balance $watnet=Evap -Precip -Runoff +sssdmp$. Therefore, precip also takes into account the snow storage/melting on frozen areas.
\item[Remark:]
\item[Associated script:] cdfwflx.ksh
\end{description}
\subsection*{\underline{cdfbuoyflx:}}
\addcontentsline{toc}{subsection}{cdfbuoyflx}
\index{cdfbuoyflx}
\begin{description}
\item[Purpose:] This is an extension of cdfwflx: It computes the different components of
the water flux. (evaporation, precipitation, runoff, sss damping, total water flux. Additionally, it extracts the component
of the heat flux (latent, sensible, long wave, short wave, net heat fluxes), and copy them, to the output file. Then it
evaluates the respective component of the buoyancy flux (haline, thermal), and the total buoyancy flux ($10^{-6} kg/m^2/s$).\\
\[ F_{\rho} = - \rho \left [ \alpha F_T - \beta F_S \right ] \]
\item[Usage:] {\em cdfbuoyflx gridTfile runofffile}
\item[Input:] gridTfile is a file which hold the flux variables.\\
runofffile is the file with the runoff variable $sorunoff$.
\item[Required mesh\_mask files or other files:] none
\item[Output:] Output is done on buoyflx.nc file. Variables are evap (mm/day), precip (mm/day), sssdmp (mm/day), runoff (mm/day),
watnet (mm/day). The runoff is directly read from the file, as well as the sss damping. Evaporation is deduced from the
latent heat flux, stored on the gridT file ($Evap=-Q_{lat}/L_v$). Precip is deduced from the balance
$watnet=Evap -Precip -Runoff +sssdmp$. Therefore, precip also takes into account the snow storage/melting on frozen areas. \\
Heat fluxes ($W/m^2$) are on variables $latent$, $sensible$, $longwave$, $solar$, $heatnet$. \\
Buoyancy fluxes uses the same names with the extension \_b ($10^{-6} kg/m^2/s$ ).
The total buoyancy flux ($buoyancy\_fl$) is also given. $SSS$ and $SST$ are also stored on the output file in order to
have then at hand when performing diags with these files.
\item[Remark:]
\item[Associated script:] cdfbuoyflx.ksh
\end{description}
\newpage
\subsection*{\underline{cdfvhst:}}
\addcontentsline{toc}{subsection}{cdfvhst}
\index{cdfvhst}
\begin{description}
\item[Purpose:] Compute the Vertically Integrated Heat and Salt Transport (Partial Step case).
\item[Usage:] {\em cdfvhst VTfile }
\item[Input:] VTfiles are the files produced by the cdfvT program.
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means).
For instance: cdfvhst ORCA025-G32\_y0010m01\_VT.nc
will compute the vertically integrated heat and salt transport for month 1 of year 0010 for the ORCA025-G32 experiment.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc \\
\item[Output:]trp.nc, variables somevt somevs sozout sozous
\item[Remark:] for example:\\
\begin{equation}
somevt(i,j)=\int_{-h}^{0}{vt(i,j)e_{1v}(i,j) e_3(i,j,z) dz} \\
\end{equation}
\begin{equation}
someut(i,j)=\int_{-h}^{0}{ut(i,j)e_{2u}(i,j) e_3(i,j,z) dz}
\end{equation}
\item[Associated script:] {\em cdfvhst.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfvhst-full:}}
\addcontentsline{toc}{subsection}{cdfvhst-full}
\index{cdfvhst-full}
\begin{description}
\item[Purpose:] Compute the Vertically Integrated Heat and Salt Transport (Full Step case).
\item[Usage:] {\em cdfvhst-full VTfile }
\item[Input:] VTfiles are the files produced by the cdfvT program.
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means).
For instance: cdfvhst-full ORCA025-G04\_y0010m01\_VT.nc
will compute the vertically integrated heat and salt transport for month 1 of year 0010 for the ORCA025-G04 experiment.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc \\
\item[Output:]trp.nc, variables somevt somevs sozout sozous
\item[Remark:] for example:\\
\begin{equation}
somevt(i,j)=\int_{-h}^{0}{vt(i,j)e_{1v}(i,j) e_3(z) dz} \\
\end{equation}
\begin{equation}
someut(i,j)=\int_{-h}^{0}{ut(i,j)e_{2u}(i,j) e_3(z) dz}
\end{equation}
\item[Associated script:] {\em cdfvhst-full.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfpsi:}}
\addcontentsline{toc}{subsection}{cdfpsi}
\index{cdfpsi}
\begin{description}
\item[Purpose:] Compute the Barotropic Stream Function (Partial Step case).
\item[Usage:] {\em cdfpsi Ufile Vfile [V]}
\item[Input:] Ufile and Vfile are the files holding vozocrtx and vomecrty.
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means). \\
The optional [V] parameter, is used to indicate that we want to save the v-computed psi, instead of the default
u-computed. This last option is usefull for basin such as NATL4. \\
For instance: cdfpsi ORCA025-G32\_y0010m01\_U.nc ORCA025-G32\_y0010m01\_V.nc
will compute the BSF for month 1 of year 0010 for the ORCA025-G32 experiment.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc \\
\item[Output:]psi.nc, variables sobarstf, on the C-grid f-points, masked.
\item[Remark:] This program is prepared to compute BSF either from the U field or the V field. To be in agreement with previous
matlab programs, we choose to save only the result from the U field. The integration constant is set so that the BSF
on Asia is 0. ( For Orca type simulations, point (jpiglo, jpjglo) is supposed to be in Asia). Discussion is open if it
is better to save the mean value of the BSF derived from U field and V field.
\item[Associated script:] {\em cdfpsi.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfpsi-full:}}
\addcontentsline{toc}{subsection}{cdfpsi-full}
\index{cdfpsi-full}
\begin{description}
\item[Purpose:] Compute the Barotropic Stream Function (Full Step case).
\item[Usage:] {\em cdfpsi-full Ufile Vfile }
\item[Input:] Ufile and Vfile are the files holding vozocrtx and vomecrty.
They correspond to a certain period of time ( monthly, quarterly, annual or
pluri annual means).
For instance: cdfpsi-full ORCA025-G04\_y0010m01\_U.nc ORCA025-G04\_y0010m01\_V.nc
will compute the BSF for month 1 of year 0010 for the ORCA025-G04 experiment.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc \\
\item[Output:]psi.nc, variables sobarstf, on the C-grid f-points, masked.
\item[Remark:] This program is prepared to compute BSF either from the U field or the V field. To be in agreement with previous
matlab programs, we choose to save only the result from the U field. The integration constant is set so that the BSF
on Asia is 0. ( For Orca type simulations, point (jpiglo, jpjglo) is supposed to be in Asia). Discussion is open if it
is better to save the mean value of the BSF derived from U field and V field.
\item[Associated script:] {\em cdfpsi-full.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfpsi-open:}}
\addcontentsline{toc}{subsection}{cdfpsi-open}
\index{cdfpsi-open}
\begin{description}
\item[Purpose:] Compute the Barotropic Stream Function from an open domain output.
\item[Usage:] {\em cdfpsi-open Ufile Vfile [-mask] [-moy] }
\item[Input:] Ufile and Vfile are the files holding vozocrtx and vomecrty.\\
If -mask option is used, resulting sobarstf field is masked, else it is not masked. \\
If -moy option is used, the resulting field is the mean value between Ucomputation and Vcomputation.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc \\
\item[Output:]psi.nc, variables sobarstf, on the C-grid f-points.
\item[Remark:] It is very likely, that this program should be edited by the end used to fit its own configuration. In particular, in the standard
version, the upper left corner is arbitrarely set to 0. When editing, take care of the sign for integration! When applied to and extrated
domain from a larger model, this program will not give exactly the same BSF, because of a different starting reference.
A modified version suitable for SALOMON025 configuration is avaible in cdfpsi-open\_AM.f90. \\
Another version suitable for the Zapiola area is available in cdfpsi-open-zap.f90
\end{description}
\newpage
\subsection*{\underline{cdfvtrp:}}
\addcontentsline{toc}{subsection}{cdfvtrp}
\index{cdfvtrp}
\begin{description}
\item[Purpose:] Computes the vertically integrated transports at each grid cell
\item[Usage:] {\em cdfvtrp Ufile Vfile }
\item[Input:] netcdf gridU and gridV files.
\item[Required mesh\_mask files or other files:] Files mesh\_hgr.nc, mesh\_zgr.nc ,mask.nc must be in te current directory
\item[Output:] Output on trp.nc, variables somevtrp sozoutrp
\item[Remark/bugs :] output fields are horizontal 2D. They are used as input to cdftrp\_bathy to compute transport accross isobaths.
\item[Associated scripts:]
\end{description}
\subsection*{\underline{cdftrp\_bathy:}}
\addcontentsline{toc}{subsection}{cdftrp\_bathy}
\index{cdftrp\_bathy}
\begin{description}
\item[Purpose:] Compute transport compoenents along and across isobaths.
\item[Usage:] {\em cdftrp\_bathy trp.nc }
\item[Input:] trp.nc file given as input is produced by cdfvtrp program.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mask.nc and hdept.nc (this latter file is the extraction of variable $hdept$ from
mesh\_zgr.nc; a link to mesh\_zgr.cd can be made).
\item[Output:] output is done on {\em trpiso.nc} file, with 2 variables : $soualz$ and $sovacz$ for along isobath anf cross isobath component of
the transport.
\item[Remark:] This program is quite tricky to use. Be sure you to have a good understanding of what is computed, take care of the sign convention.
\end{description}
\newpage
\subsection*{\underline{cdfmoc:}}
\addcontentsline{toc}{subsection}{cdfmoc}
\index{cdfmoc}
\begin{description}
\item[Purpose:] Compute the Meridional Overturning Circulation (partial step case), from the meridional
velocity and a basin mask file.
\item[Usage:] {\em cdfmoc Vfile }
\item[Input:] Vfile is the files holding vomecrty.
For instance: {\tt cdfmoc ORCA025-G32\_y0010\_ANNUAL\_gridV.nc }
will compute the MOC for with ORCA025-G32 annual mean V field.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc, new\_maskglo.nc (if new\_maskglo.nc does'nt exist, it will work for the global basin; usefull for NATL4 like configs). \\
\item[Output:] The results are output on the file $moc.nc$. There are 5 variables concerning the MOC, one for each sub-basin. They are degenerated 3D variables with the i-dimension
reduced to 1 : $zomsfglo$ for the GLObal ocean,
$zomsfatl$ for the ATLantic ocean, $zomsfinp$ for the INdoPacific ocean, $zomsfind$ for the INDian ocean and finally
$zomsfpac$ for the PACific ocean.
Notice that the depth associated to the file corresponds to the W depth (gdepw). $nav\_lon$ is arbitrarly set to 0 ($nav\_lon(1,1:npjglo)$),
and $nav\_lat$ is set to the latitude of the i-line going through the North Pole.
\item[Remark:] The name Meridional Overturning is a facility of language, because in fact what is computed is the along-I integral
of the V component (which is not {\em stricto sensus} meridional | it follows the J-coordinate |)
\item[Associated script:] {\em cdfmoc.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfmocsig:}}
\addcontentsline{toc}{subsection}{cdfmocsig}
\index{cdfmocsig}
\begin{description}
\item[Purpose:] Compute the Meridional Overturning Circulation (partial step case) in function of $\sigma_1$ from the meridional velocity, a TS file and a basin mask file.
\item[Usage:] {\em cdfmocsig Vfile TSfile}
\item[Input:] Vfile is the files holding vomecrty, TSfile hold votemper, vosaline for density computation.
For instance: {\tt cdfmocsig ORCA025-G32\_y0010\_ANNUAL\_gridV.nc ORCA025-G32\_y0010\_ANNUAL\_gridT.nc }
will compute the MOC for with ORCA025-G32 annual mean V field.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc, new\_maskglo.nc \\
\item[Output:] The results are output on the file $mocsig.nc$. There are 5 variables concerning the MOC, one for each sub-basin. They are degenerated 3D variables with the i-dimension
reduced to 1 : $zomsfglo$ for the GLObal ocean,
$zomsfatl$ for the ATLantic ocean, $zomsfinp$ for the INdoPacific ocean, $zomsfind$ for the INDian ocean and finally
$zomsfpac$ for the PACific ocean.
Notice that the depth associated to the file corresponds to the W depth (gdepw). $nav\_lon$ is arbitrarly set to 0 ($nav\_lon(1,1:npjglo)$),
and $nav\_lat$ is set to the latitude of the i-line going through the North Pole.
\item[Remark:] The name Meridional Overturning is a facility of language, because in fact what is computed is the along-I integral
of the V component (which is not {\em stricto sensus} meridional | it follows the J-coordinate |)
\item[Associated script:] {\em cdfmocsig.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfmocsig-full:}}
\addcontentsline{toc}{subsection}{cdfmocsig-full}
\index{cdfmocsig-full}
\begin{description}
\item[Purpose:] Compute the Meridional Overturning Circulation (partial step case) in function of $\sigma_1$ from the meridional velocity, a TS file and a basin mask file. This is the full step version.
\item[Usage:] {\em cdfmocsig-full Vfile TSfile}
\item[Input:] Vfile is the files holding vomecrty, TSfile hold votemper, vosaline for density computation.
For instance: {\tt cdfmocsig-full ORCA025-G32\_y0010\_ANNUAL\_gridV.nc ORCA025-G32\_y0010\_ANNUAL\_gridT.nc }
will compute the MOC for with ORCA025-G32 annual mean V field.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc, new\_maskglo.nc \\
\item[Output:] The results are output on the file $mocsig.nc$. There are 5 variables concerning the MOC, one for each sub-basin. They are degenerated 3D variables with the i-dimension
reduced to 1 : $zomsfglo$ for the GLObal ocean,
$zomsfatl$ for the ATLantic ocean, $zomsfinp$ for the INdoPacific ocean, $zomsfind$ for the INDian ocean and finally
$zomsfpac$ for the PACific ocean.
Notice that the depth associated to the file corresponds to the W depth (gdepw). $nav\_lon$ is arbitrarly set to 0 ($nav\_lon(1,1:npjglo)$),
and $nav\_lat$ is set to the latitude of the i-line going through the North Pole.
\item[Remark:] The name Meridional Overturning is a facility of language, because in fact what is computed is the along-I integral
of the V component (which is not {\em stricto sensus} meridional | it follows the J-coordinate |)
\item[!!!CAUTION !!!:] THIS PROGRAM IS NOT FINISHED YET. DONT USE WITH FULL\_STEPS!
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfmoc-full:}}
\addcontentsline{toc}{subsection}{cdfmoc-full}
\index{cdfmoc-full}
\begin{description}
\item[Purpose:] Compute the Meridional Overturning Circulation (partial step case), from the meridional
velocity and a basin mask file.
\item[Usage:] {\em cdfmoc-full Vfile }
\item[Input:] Vfile is the files holding vomecrty.
For instance: {\tt cdfmoc-full ORCA025-G04\_y0010\_ANNUAL\_gridV.nc }
will compute the MOC for with ORCA025-G04 annual mean V field.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc, new\_maskglo.nc \\
\item[Output:] The results are output on the file $moc.nc$. There are 5 variables concerning the MOC, one
for each sub-basin. They are degenerated 3D variables with the i-dimension
reduced to 1 : $zomsfglo$ for the GLObal ocean,
$zomsfatl$ for the ATLantic ocean, $zomsfinp$ for the INdoPacific ocean, $zomsfind$ for the INDian ocean and finally
$zomsfpac$ for the PACific ocean.
Notice that the depth associated to the file corresponds to the W depth (gdepw). $nav\_lon$ is arbitrarly
set to 0 ($nav\_lon(1,1:npjglo)$),
and $nav\_lat$ is set to the latitude of the i-line going through the North Pole.
\item[Remark:] The name Meridional Overturning is a facility of language, because in fact what is computed is the along-I integral
of the V component (which is not {\em stricto sensus} meridional | it follows the J-coordinate |)
\item[Associated script:] {\em cdfmoc-full.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfmocatl:}}
\addcontentsline{toc}{subsection}{cdfmocatl}
\index{cdfmocatl}
\begin{description}
\item[Purpose:] Compute the Meridional Overturning Circulation (partial step case), from the meridional
velocity and a basin mask file. This program computes the MOC for one basin only. Useful for NATL4.
It is now obsolete as cdfmoc does the same, if no new\_maskglo.nc are available.
\item[Usage:] {\em cdfmoc Vfile }
\item[Input:] Vfile is the files holding vomecrty.
For instance: {\tt cdfmocatl NATL4-G07\_y0010\_ANNUAL\_gridV.nc }
will compute the MOC for with NATL4-G07 annual mean V field.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, mask.nc \\
\item[Output:] The results are output on the file $moc.nc$. The variable concerning the MOC is adegenerated 3D variables with the i-dimension
reduced to 1 : $zomsfatl$ for the ATLantic ocean
Notice that the depth associated to the file corresponds to the W depth (gdepw). $nav\_lon$ is arbitrarly set to 0 ($nav\_lon(1,1:npjglo)$),
and $nav\_lat$ is set to the latitude of the i-line going through the North Pole.
\item[Remark:] The name Meridional Overturning is a facility of language, because in fact what is computed is the along-I integral
of the V component (which is not {\em stricto sensus} meridional | it follows the J-coordinate |)
\item[Associated script:] {\em cdfmocatl .ll}. ({\em to be written} )
\end{description}
\newpage
\subsection*{\underline{cdftransportiz:}}
\addcontentsline{toc}{subsection}{cdftransportiz}
\index{cdftransportiz}
\begin{description}
\item[Purpose:] Compute volume, heat and salt transport across a section, for depth classes. (Partial Step case )
\item[Usage:] {\em cdftransportiz [ -test u v ] VTfile gridUfile gridVfile 'limit of level' }
\item[Input:] VTfiles are the files produced by the cdfvT program. \\
gridV U and gridV files are equivalent files (same period) for U and V. \\
'limit of levels' are depth in meters where to set limits for depth classes. If no limits are given, the transport is
computed for the whole water column. \\
Once the data files are read, the user is asked to give a section name (or 'EOF' for ending the program), followed
by the geographical limits of a section (imin imax jmin jmax, in model coordinates). This user interaction can be done
with an ascii file given as standard input. ( cdftransportiz ........ $<$ section.dat, for instance ).
For instance: cdftransportiz ORCA025-G32\_y0010m01\_VT.nc ORCA025-G32\_y0010m01\_gridU.nc ORCA025-G32\_y0010m01\_gridV.nc
1500 3000 $<$ section .dat \\
will compute the transports across a section (given interactively) in three depth classes : from top to 1500 m, from 1500 m
to 3000 m and from 3000 m to the bottom, for section described into section.dat file.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:]section\_trp.dat and the standard output (for interactivity).
\item[Remark:] The sign of the transport is somewhat tricky. It depends on the inclination of the section. As a rule of
the thumb, the transport is $>0$ when going to the right hand side of the section, cruising the section from (imin,jmin)
(imax, jmax). When the optional '-test u v ' arguments of the command line are given, the velocity field is assumed to
be a constant field with both U and V taken as the arguments. This gives an easy way to check the sign of the transports for a given section.
\item[Associated script:] {\em cdftransportiz.ll}.
\end{description}
\subsection*{\underline{cdftransportizpm:}}
\addcontentsline{toc}{subsection}{cdftransportizpm}
\index{cdftransportizpm}
\begin{description}
\item[Purpose:] Compute volume, heat and salt transport across a section, for depth classes. (Partial Step case ), just as cdftransportiz does,
but also indicates for each section the Positive (plus) transport and the negative (minus) transport, separately.
\item[Usage:] {\em cdftransportizpm [ -test u v ] VTfile gridUfile gridVfile 'limit of level' }
\item[Input:] VTfiles are the files produced by the cdfvT program. \\
gridV U and gridV files are equivalent files (same period) for U and V. \\
'limit of levels' are depth in meters where to set limits for depth classes. If no limits are given, the transport is
computed for the whole water column. \\
Once the data files are read, the user is asked to give a section name (or 'EOF' for ending the program), followed
by the geographical limits of a section (imin imax jmin jmax, in model coordinates). This user interaction can be done
with an ascii file given as standard input. ( cdftransportizpm ........ $<$ section.dat, for instance ).
For instance: cdftransportizpm ORCA025-G32\_y0010m01\_VT.nc ORCA025-G32\_y0010m01\_gridU.nc ORCA025-G32\_y0010m01\_gridV.nc
1500 3000 $<$ section .dat \\
will compute the transports across a section (given interactively) in three depth classes : from top to 1500 m, from 1500 m
to 3000 m and from 3000 m to the bottom, for section described into section.dat file.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:]section\_trp.dat and the standard output (for interactivity).
\item[Remark:] The sign of the transport is somewhat tricky. It depends on the inclination of the section. As a rule of
the thumb, the transport is $>0$ when going to the right hand side of the section, cruising the section from (imin,jmin)
(imax, jmax). When the optional '-test u v ' arguments of the command line are given, the velocity field is assumed to
be a constant field with both U and V taken as the arguments. This gives an easy way to check the sign of the transports for a given section.
\item[Associated script:] none
\end{description}
\subsection*{\underline{cdftransportiz-full:}}
\addcontentsline{toc}{subsection}{cdftransportiz-full}
\index{cdftransportiz-full}
\begin{description}
\item[Purpose:] Compute volume, heat and salt transport across a section, for depth classes. (Full Step case )
\item[Usage:] {\em cdftransportiz-full [ -test u v ] VTfile gridUfile gridVfile 'limit of level' }
\item[Input:] VTfiles are the files produced by the cdfvT program. \\
gridV U and gridV files are equivalent files (same period) for U and V. \\
'limit of levels' are depth in meters where to set limits for depth classes. If no limits are given, the transport is
computed for the whole water column. \\
Once the data files are read, the user is asked to give a section name (or 'EOF' for ending the program), followed
by the geographical limits of a section (imin imax jmin jmax, in model coordinates). This user interaction can be done
with an ascii file given as standard input. ( cdftransportiz-full ........ $<$ section.dat, for instance ).
For instance: cdftransportiz-full ORCA025-G04\_y0010m01\_VT.nc ORCA025-G04\_y0010m01\_gridU.nc ORCA025-G04\_y0010m01\_gridV.nc
1500 3000 $<$ section .dat \\
will compute the transports across a section (given interactively) in three depth classes : from top to 1500 m, from 1500 m
to 3000 m and from 3000 m to the bottom, for section described into section.dat file.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:]section\_trp.dat and the standard output for interactivity.
\item[Remark:] The sign of the transport is somewhat tricky. It depends on the inclination of the section. As a rule of
the thumb, the transport is $>0$ when going to the right hand side of the section, cruising the section from (imin,jmin)
(imax, jmax). When the optional '-test u v ' arguments of the command line are given, the velocity field is assumed to
be a constant field with both U and V taken as the arguments. This gives an easy way to check the sign of the transports for a given section.
\item[Associated script:] {\em cdftransportiz-full.ll}.
\item[section.dat example:] for example, a {\em section.dat} file used in DRAKKAR, ORCA025 is given below.
\begin{verbatim}
01_BERING
452 461 834 834
02_FRAM
1067 1107 941 941
03_BAFFIN
927 981 920 920
04_DENMARK_STRAIT
1025 1055 845 830
05_ICELAND_SCOTLAND
1084 1120 824 785
06_CUBA_FLORIDA
828 828 593 603
07_FLORIDA_BAHAMAS
829 836 610 610
08_DRAKE
880 890 235 142
09_AUS_AA
300 300 340 120
10_ITF
170 170 465 410
11_MOZAMBIQUE_CHANNEL
1309 1328 432 432
EOF
\end{verbatim}
\end{description}
\subsection*{\underline{cdftransportiz\_noheat:}}
\addcontentsline{toc}{subsection}{cdftransportiz\_noheat}
\index{cdftransportiz\_noheat}
\begin{description}
\item[Purpose:] same as cdftransportiz but only for mass transport. Usefull when VT files are not available.
\item[Usage:] {\em cdftransportiz\_noheat [ -test u v ] gridUfile gridVfile 'limit of level' }
\item[Output:]section\_trp.dat and the standard output for interactivity.
\end{description}
\newpage
\subsection*{\underline{cdfmasstrp:}}
\addcontentsline{toc}{subsection}{cdfmasstrp}
\index{cdfmasstrp}
\begin{description}
\item[Purpose:] Compute volume transport across a section, for depth classes. (Partial Step case )
\item[Usage:] {\em cdfmasstrp [ -test u v ] gridUfile gridVfile 'limit of level' }
\item[Input:] gridV U and gridV files are simultaneous velocity component files. \\
'limit of levels' are depth in meters where to set limits for depth classes. If no limits are given, the transport is
computed for the whole water column. \\
Once the data files are read, the user is asked to give a section name (or 'EOF' for ending the program), followed
by the geographical limits of a section (imin imax jmin jmax, in model coordinates). This user interaction can be done
with an ascii file given as standard input. ( cdftransportiz ........ $<$ section.dat, for instance ).
For instance: cdfmasstrp ORCA025-G32\_y0010m01\_gridU.nc ORCA025-G32\_y0010m01\_gridV.nc
1500 3000 $<$ section .dat \\
will compute the transports across a section (given interactively) in three depth classes : from top to 1500 m, from 1500 m
to 3000 m and from 3000 m to the bottom, for section described into section.dat file.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:]section\_trp.dat and standard output. .dat file is matlab ready.
\item[Remark:] The sign of the transport is somewhat tricky. It depends on the inclination of the section. As a rule of
the thumb, the transport is $>0$ when going to the right hand side of the section, cruising the section from (imin,jmin)
(imax, jmax). When the optional '-test u v ' arguments of the command line are given, the velocity field is assumed to
be a constant field with both U and V taken as the arguments. This gives an easy way to check the sign of the transports for a given section.\\
This program is a simplification of cdftransportiz where the heat and salt transport are not computed anymore. This tool is about the same than
cdftransportiz\_noheat, and should be used in place of. The only difference is in that in this program there is no dummy heat/salt transport output.
\end{description}
\subsection*{\underline{cdfmasstrp-full:}}
\addcontentsline{toc}{subsection}{cdfmasstrp-full}
\index{cdfmasstrp-full}
\begin{description}
\item[Purpose:] Compute volume transport across a section, for depth classes. (Full Step case )
\item[Usage:] {\em cdfmass [ -test u v ] gridUfile gridVfile 'limit of level' }
\item[Input:] gridV U and gridV files are simultaneous velocity component files. For more details, read the documentation for
cdfmasstrp.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:]section\_trp.dat and standard output. .dat file is matlab ready.
\end{description}
\newpage
\subsection*{\underline{cdfsigtrp:}}
\addcontentsline{toc}{subsection}{cdfsigtrp}
\index{cdfsigtrp}
\begin{description}
\item[Purpose:] Compute density class transport (potential density $\sigma_0$) for either zonal or meridional section, (partial steps).
\item[Usage:] {\em cdfsigtrp gridTfile gridUfile gridVfile sigma\_min sigma\_max nbins [options] }
\item[Input:] T, U and V files are output file from the model.\\
{\em sigma\_min sigma\_max } gives the lower and upper limit for the density classes $\sigma_0$,\\
$nbins$ is the number of bins (density classes) to explore between $\sigma_{min}$ and $\sigma_{max}$. \\
The program needs an ascii file called {\tt dens\_section.dat} where the sections are described. An example of such a file is given below:
\begin{scriptsize}
\begin{verbatim}
01_Denmark_strait
1013 1056 832 832
02_Faoes_Bank_Channel
1106 1106 800 808
03_Gibraltar
1126 1126 651 655
EOF
\end{verbatim}
\end{scriptsize}
Note the 'EOF' keyword in the file, which indicates the end of the file for the program. Also note that for this program sections are either
zonal or meridional; they cannot be oblique, as it is the case in cdftransportiz.\\
For instance: \\
{\tt cdfsigtrp ORCA025-G50\_y1949\_ANNUAL\_gridT.nc ORCA025-G50\_y1949\_ANNUAL\_gridU.nc \ \\
ORCA025-G50\_y1949\_ANNUAL\_gridV.nc 26 30 80} \\
will compute the density class transport for 80 classes, between $\sigma_0=26$ and $\sigma_0=30$ for the sections described in the file dens\_section.dat
\item[Options:] 2 options are available :
\begin{itemize}
\item[-print] : give extra informations on the standard output for the sections. These are 2D arrays for each section, giving
a printed 'map' of density, depth, e3 in the ( distance,vertical) plane. There are also other 2D output for printed map of isopycnal
depth, cumulated tansports, and bined transports in the (distance, density) plane. (Useful for short sections !! )
\item[-bimg] : Two bimg files are produced per section. (1) (x/y,depth) for T,S,$\sigma_0$,U (2) (x/y, $\sigma$) for hiso and class transport.
It can be used whith sections of any size. It allows a more detailed description of the flow than the standard output of the program
(integrated transport along the section).
\end{itemize}
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, dens\_section.dat
\item[Output:] This program outputs its results on an ASCII file called trpsig.txt which is multicolumns file with the first column
giving the density, and other colums the density class transport (in sverdrup) for each section (1 column per section). For example (3 sections):
\begin{scriptsize}
\begin{verbatim}
.../
27.0000 -0.3498706E+05 0.0000000E+00 0.9302920E+04
27.0500 -0.2951592E+05 0.0000000E+00 0.2953659E+05
27.1000 -0.1460002E+05 0.0000000E+00 0.6516903E+04
27.1500 -0.1678582E+05 0.0000000E+00 0.6516903E+04
27.2000 -0.5445088E+04 0.0000000E+00 0.6516903E+04
27.2500 0.7251206E+04 -0.1140499E+06 0.6062048E+04
27.3000 -0.1079158E+03 -0.7521843E+05 0.5776318E+04
27.3500 0.2931429E+03 -0.7162286E+05 0.5776318E+04
27.4000 0.7215664E+03 -0.1958259E+06 0.5776318E+04
27.4500 0.1075893E+05 -0.2733888E+06 0.6497963E+05
.../
\end{verbatim}
\end{scriptsize}
First line of this example, indicates the transport for the density class [27.00,27.05[. ( line $k$ is the transport for the density class
[$\sigma_k, \sigma_{k+1}$[ ).
\item[Remark:] The sign of the transport is $>0$ for northward and eastward transports. \\
A slightly different version of this program, adapted by G. Hervieux is available as cdfsigtrp2.f90. In this version, some outputs were skipped and the cumulated
transport is saved as well as the binned transport. (cdfsigtrp2 not maintained).
\end{description}
\subsection*{\underline{cdfsigitrp:}}
\addcontentsline{toc}{subsection}{cdfsigitrp}
\index{cdfsigitrp}
\begin{description}
\item[Purpose:] This program compute density class transport just as cdfsigtrp, but the potential density is refered to a given depth instead of the surface.
\item[Usage:] {\em cdfsigitrp gridTfile gridUfile gridVfile sigma\_min sigma\_max nbins zref [options] } \\
Note that this is pretty similar to cdfsigtrp except the zref argument.
\item[Input:] idem cdfsigtrp, except additional zref, giving the reference deptht in meters.
\item[Required mesh\_mask files or other files:] as cdfsigtrp
\item[Output:] as cdfsigtrp
\end{description}
\newpage
\subsection*{\underline{cdfsigtrp-full:}}
\addcontentsline{toc}{subsection}{cdfsigtrp-full}
\index{cdfsigtrp-full}
\begin{description}
\item[Purpose:] Compute density class transport for either zonal or meridional section, (full steps).
\item[Usage:] {\em cdfsigtrp-full gridTfile gridUfile gridVfile sigma\_min sigma\_max nbins [options] }
\item[Input:] T, U and V files are output file from the model.\\
{\em sigma\_min sigma\_max } gives the lower and upper limit for the density classes $\sigma_0$,\\
$nbins$ is the number of bins (density classes) to explore between $\sigma_{min}$ and $\sigma_{max}$. \\
The program needs an ascii file called {\tt dens\_section.dat} where the sections are described. An example of such a file is given below:
\begin{scriptsize}
\begin{verbatim}
01_Denmark_strait
1013 1056 832 832
02_Faoes_Bank_Channel
1106 1106 800 808
03_Gibraltar
1126 1126 651 655
EOF
\end{verbatim}
\end{scriptsize}
Note the 'EOF' keyword in the file, which indicates the end of the file for the program.\\
For instance: \\
{\tt cdfsigtrp-full ORCA025-G50\_y1949\_ANNUAL\_gridT.nc ORCA025-G50\_y1949\_ANNUAL\_gridU.nc \ \\
ORCA025-G50\_y1949\_ANNUAL\_gridV.nc 26 30 80} \\
will compute the density class tranport for 80 classes, between $\sigma_0=26$ and $\sigma_0=30$ for the sections described in the file dens\_section.dat
\item[Options:] 2 options are available :
\begin{itemize}
\item[-print] : give extra informations on the standard output for the sections. These are 2D arrays for each section, giving
a printed 'map' of density, depth, e3 in the ( distance,vertical) plane. There are also other 2D output for printed map of isopycnal
depth, cumulated tansports, and bined transports in the (distance, density) plane. (Useful for short sections !! )
\item[-bimg] : Two bimg files are produced per section. (1) (x/y,depth) for T,S,$\sigma_0$,U (2) (x/y, $\sigma$) for hiso and class transport.
It can be used whith sections of any size. It allows a more detailed description of the flow than the standard output of the program
(integrated transport along the section).
\end{itemize}
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc, dens\_section.dat
\item[Output:] This program outputs its results on an ASCII file called trpsig.txt which is multicolumns file with the first column
giving the density, and other colums the density class transport (in sverdrup) for each section (1 column per section). For example (3 sections):
\begin{scriptsize}
\begin{verbatim}
.../
27.0000 -0.3498706E+05 0.0000000E+00 0.9302920E+04
27.0500 -0.2951592E+05 0.0000000E+00 0.2953659E+05
27.1000 -0.1460002E+05 0.0000000E+00 0.6516903E+04
27.1500 -0.1678582E+05 0.0000000E+00 0.6516903E+04
27.2000 -0.5445088E+04 0.0000000E+00 0.6516903E+04
27.2500 0.7251206E+04 -0.1140499E+06 0.6062048E+04
27.3000 -0.1079158E+03 -0.7521843E+05 0.5776318E+04
.../
\end{verbatim}
\end{scriptsize}
First line of this example, indicates the transport for the density class [27.00,27.05[. ( line $k$ is the transport for the density class
[$\sigma_k, \sigma_{k+1}$[ ).
\item[Remark:] The sign of the transport is $>0$ for northward and eastward transports.
\end{description}
\newpage
\subsection*{\underline{cdftemptrp-full:}}
\addcontentsline{toc}{subsection}{cdftemptrp-full}
\index{cdftemptrp-full}
\begin{description}
\item[Purpose:] Compute the transport between isotherms.
\item[Usage:] {\em cdftemptrp-full gridTfile gridUfile gridVfile temp\_max temp\_min nbins [options] }
\item[Input:] The syntax is almost the same than for cdfsigtrp. Working with temperatures instead of density.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc must be in the current directory.
\item[Output:] Ascii file trptemp.txt.
\item[Remark:] Contribution of Fred Castruccio.
\end{description}
\subsection*{\underline{cdftempvol-full:}}
\addcontentsline{toc}{subsection}{cdftempvol-full}
\index{cdftempvol-full}
\begin{description}
\item[Purpose:] Compute water volume in a given domain between isotherms. FULL STEPS version
\item[Usage:] {\em cdftempvol-full gridTfile imin, imax, jmin, jmax temp\_max temp\_min nbins [options] }
\item[Input:] The syntax is almost the same than for cdfsigtrp. Working with temperatures instead of density.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc must be in the current directory.
\item[Output:] Ascii file voltemp.txt.
\item[Remark:] Contribution of Fred Castruccio.
\end{description}
\newpage
\section{Derived quantities}
\subsection*{\underline{cdfsig0:}}
\addcontentsline{toc}{subsection}{cdfsig0}
\index{cdfsig0}
\begin{description}
\item[Purpose:] Compute the potential density ${\sigma}_0$.
\item[Usage:] {\em cdfsig0 gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: cdfsig0 ORCA035-G32\_y0008m01d10\_gridT.nc \\
will compute ${\sigma}_0$ for the given file.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em sig0.nc}. This file hold the variable vosigma0.
\item[Remark:] The non-linear equation of state of NEMO OPA9 is used. Therefore, one should be aware that ${\sigma}_0$
computed from mean temperature and salinity fields is not the same than the mean ${\sigma}_0$ computed from instantaneous
temperature and salinity fields. This tools can take multi time frame input file.
\item[Associated script:] {\em cdfsigma0.ll}. This script can be used to compute ${\sigma}_0$ for a run. It scan all
the gridT file for a given year and CONFIG, and produce the corresponding sigma0 file.
\end{description}
\subsection*{\underline{cdfsigi:}}
\addcontentsline{toc}{subsection}{cdfsigi}
\index{cdfsigi}
\begin{description}
\item[Purpose:] Compute the potential density ${\sigma}_i$, refered to a particular depth.
\item[Usage:] {\em cdfsigi gridT Reference\_depth}
\item[Input:] gridT is a file holding variables votemper and vosaline.\\
Reference\_depth is the reference depth in meters.
For instance:\\
cdfsigi ORCA035-G32\_y0008m01d10\_gridT.nc 2000 \\
will compute ${\sigma}_i$ for the given file, refered to 2000 m, {\it ie}, ${\sigma}_2$.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em sigi.nc}. This file hold the variable vosigmai, reference depth is documented on the 'long name' attriute.
\item[Remark:] The non-linear equation of state of NEMO OPA9 is used. Therefore, one should be aware that ${\sigma}_i$
computed from mean temperature and salinity fields is not the same than the mean ${\sigma}_i$ computed from instantaneous
temperature and salinity fields. This tools can take multi time frame input file.
\end{description}
\subsection*{\underline{cdfsiginsitu:}}
\addcontentsline{toc}{subsection}{cdfsiginsitu}
\index{cdfsiginsitu}
\begin{description}
\item[Purpose:] Compute the insitu density ${\sigma}$.
\item[Usage:] {\em cdfsiginsitu gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.\\
Depths are taken from the input file.
For instance:\\
cdfsiginsitu ORCA035-G32\_y0008m01d10\_gridT.nc \\
will compute ${\sigma}$ for the given file
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em siginsitu.nc}. This file hold the variable vosigmainsitu.
\item[Remark:] The non-linear equation of state of NEMO OPA9 is used. Therefore, one should be aware that ${\sigma}$
computed from mean temperature and salinity fields is not the same than the mean ${\sigma}$ computed from instantaneous
temperature and salinity fields. This tools can take multi time frame input file.
\end{description}
\newpage
\subsection*{\underline{cdfbottomsig0:}}
\addcontentsline{toc}{subsection}{cdfbottomsig0}
\index{cdfbottomsig0}
\begin{description}
\item[Purpose:] Compute the bottom potential density ${\sigma}_{0bot}$ (2D variable).
\item[Usage:] {\em cdfbottomsig0 gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: {\tt cdfbottomsig0 ORCA035-G32\_y0008m01d10\_gridT.nc }
will compute ${\sigma}_{0bot}$ for the given tag.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em botsig0.nc}. This file hold the variable sobotsig0.
\item[Remark:] The non-linear equation of state of NEMO OPA9 is used. Therefore, one should be aware that ${\sigma}_0$
computed from mean temperature and salinity fields is not the same than the mean ${\sigma}_0$ computed from instantaneous
temperature and salinity fields. A companion of this program is cdfbottom.
\item[Associated script:] {\em cdfbotsig0.ll}. This script can be used to compute ${\sigma}_{0bot}$ for a run. It scan all
the gridT file for a given year and CONFIG, and produce the corresponding botsig0 file.
\end{description}
\newpage
\subsection*{\underline{cdfbottomsigi:}}
\addcontentsline{toc}{subsection}{cdfbottomsigi}
\index{cdfbottomsigi}
\begin{description}
\item[Purpose:] Compute the bottom potential density ${\sigma}_{ibot}$ (2D variable), refered to the given depth.
\item[Usage:] {\em cdfbottomsigi gridT Reference depth}
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: {\tt cdfbottomsigi ORCA035-G32\_y0008m01d10\_gridT.nc 2000 }
will compute ${\sigma}_{2bot}$ for the given tag.
\item[Required mesh\_mask files or other files:] none
\item[Output:] {\em botsigi.nc}. This file hold the variable sobotsigi.
\item[Remark:] The non-linear equation of state of NEMO OPA9 is used. Therefore, one should be aware that ${\sigma}_i$
computed from mean temperature and salinity fields is not the same than the mean ${\sigma}_i$ computed from instantaneous
temperature and salinity fields. A companion of this program is cdfbottom.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfbottom:}}
\addcontentsline{toc}{subsection}{cdfbottom}
\index{cdfbottom}
\begin{description}
\item[Purpose:] Extract the bottom values for the 3D variables contained in the file given as argument. Bottom
values are the values for the last point of the water column before land.
\item[Usage:] {\em cdfbottom nc\_file [ $T~|~U~|~V~|~F$ ] }
If the point type is specified, look for the corresponding mask in mask.nc file.
\item[Input:] Any netcdf file from NEMO output (or diagnosed from NEMO) , containing 3D fields.
For instance: {\tt cdfbottom ORCA035-G32\_y0008m01d10\_gridT.nc}
will produce a file with the 2D variables {\tt votemper} and {\tt vosaline} corresponding the their bottom value.
{\tt cdfbottom ORCA035-G32\_y0008m01d10\_gridU.nc U } will produce a file with the 2D variable vozocrtx, corresponding the the
bottom value, the umask being read on the mask.nc file.
\item[Required mesh\_mask files or other files:] Eventually mask.nc file if the type point of the C grid is specified.
\item[Output:] {\em bottom.nc}. This file hold the variable(s) having the same name than the 3D variables of the input file.
\item[Remark:] For the sake of simplicity, and for compatibility with other cdftools, we keep the same variable name in the
output file than in the input file, though the output variables are 2D and should 'logically' start with 'so'...
\item[Associated script:] {\em cdfbottom.ll}. This script can be used to compute bottom value for a run.
\end{description}
\newpage
\subsection*{\underline{cdfrhoproj:}}
\addcontentsline{toc}{subsection}{cdfrhoproj}
\index{cdfrhoproj}
\begin{description}
\item[Purpose:] Project a variable of a netcdf file on an isopycnal surface either specified by a $\sigma_0$ on the command
line, or taken from an input file.
\item[Usage:] {\em cdfrhoproj [-s0 sigma0] cvar nc\_rhofile nc\_file(*) [ $T~|~U~|~V~|~F$ ] }
If the value of $\sigma_0$ for the iso surface is given on the command line, then only this surface is calculated. In other cases, the
values for $\sigma_0$ are taken from the local {\em rho\_lev} file, which is a very simple ascii file, with the number of surfaces given on the
first line, followed by lines with the required $\sigma_0$ values. CAUTION: these values must increase in the file.
\item[Input:] nc\_rhofile already contains the density, cvar is the name of the variable that will be projected on the isopycnal, taken from file
nc\_file. Various files can be specified. In order to handle the NEMO C-Grid, and as far as $\sigma_0$ is computed on a T-point, it is possible
to specify the grid point type corresponding to the file. (If nothing specified, 'T' is assumed.). In any case, the resulting value are computed
on the T-Point.
For instance:\\
{\tt cdfrhoproj vozocrtx CONFIG-CASE\_SIGMA0.nc CONFIG-CASE\_gridU.nc U} \\
will project the zonal velocity on the isopycnal defined in {\em rho\_lev} at the T-Points. \\
{\tt cdfrhoproj -s0 27.8 vosaline CONFIG-CASE\_SIGMA0.nc CONFIG-CASE\_gridT.nc } \\
will project the salinity on the 27.8 isopycnal.
\item[Required mesh\_mask files or other files:] rho\_lev (if the option -s0 is not given).
\item[Output:] {\em nc\_file.nc.interp}. The suffix {\tt .interp} is appended to the input file to produce the output file.
The variable name is the same, and an additional variable {\tt vodepiso} is provided; it gives the depth of the isopycnal surfaces.
In the output file, the dimension {\tt deptht} is still used, but now represent the rho levels.
\item[Remark:] none
\item[Associated script:] not done already
\end{description}
\subsection*{\underline{cdfsigintegr:}}
\addcontentsline{toc}{subsection}{cdfsigintegr}
\index{cdfsigintegr}
\begin{description}
\item[Purpose:] This program is used to integrate quantities between isopycnals.
\item[Usage:] {\em cdfsigintegr cvar nc\_rhofile nc\_file(*) [ $T~|~U~|~V~|~F$ ] }
cvar is the variable to be integrated. It belongs to nc\_file. nc\_rhofile is the file with vosigma0, the potential density refered to surface.
Chosen isopycnals are given in a simple ascii file, just the same as in cdfrhoproj:
{\em rho\_lev} file, with the number of surfaces given on the
first line, followed by lines with the required $\sigma_0$ values. CAUTION: these values must increase in the file.
\item[Input:] nc\_rhofile already contains the density, cvar is the name of the variable that will be projected on the isopycnal, taken from file
nc\_file. Various files can be specified. In order to handle the NEMO C-Grid, and as far as $\sigma_0$ is computed on a T-point, it is possible
to specify the grid point type corresponding to the file. (If nothing specified, 'T' is assumed.). In any case, the resulting value are computed
on the T-Point.
For instance:\\
{\tt cdfsigintegr cfc11 rhofile.nc ptrcT.nc T }\\
will integrate the CFC11 concentration between isopycnals. (in other word this is the inventory of CFC11 in the density layer).
\item[Required mesh\_mask files or other files:] rho\_lev, mesh\_zgr.nc
\item[Output:] {\em nc\_file.nc.integr}. The suffix {\tt .integr} is appended to the input file to produce the output file.
There are 3 variables in the output file: {\tt inv} (for inventory) which is the targeted integral, {\tt isothick} giving the thickness of the
density layers. {\tt vodepiso} which is the depth of individual isopycnal surfaces.\\
Note that both {\tt inv} and {\tt isothick} have a 'vertical' dimension corresponding to density layers, {\it ie} 1 less than the number of isopycanal
surfaces given in rho\_lev.
In the output file, the dimension {\tt deptht} is still used, but now represent the rho levels.
\item[Remark:] none
\item[Associated script:] not done already
\end{description}
\subsection*{\underline{cdfisopycdep:}}
\addcontentsline{toc}{subsection}{cdfisopycdep}
\index{cdfisopycdep}
\begin{description}
\item[Purpose:] This program is used to determine the depth of isopycnal.
\item[Usage:] {\em cdfisopycdep [-s sigma] nc\_rhofile cdfsigmavar nc\_file(*) }
If the value of $\sigma$ for the iso surface is given on the command line, then only this surface is calculated. In other cases, the
values for $\sigma$ are taken from the local {\em rho\_lev} file, which is a very simple ascii file, with the number of surfaces given on the
first line, followed by lines with the required $\sigma$ values. CAUTION: these values must increase in the file.
\item[Input:] nc\_rhofile already contains the density (it can be any kind of density, {\it eg} $\sigma_2$ or in situ $\sigma$), cdfsigmavar is
the name of the variable holding the density field.
For instance:\\
{\tt cdfisopycdep -s 34.2 CONFIG-CASE\_SIGMA.nc vosigma2 } \\
will compute the $\sigma_2$=34.2 isopycanl depth.
\item[Required mesh\_mask files or other files:] rho\_lev (if the option -s0 is not given).
\item[Output:] {\em isopycdep.nc}, with one variable {\tt vodepiso}. This variable has a 'vertical' dimension corresponding to the chosen isopycnal
surfaces. However, the 'vertical' dimension is still named 'deptht'.
\item[Remark:] none
\item[Associated script:] not done already
\end{description}
\newpage
\subsection*{\underline{cdfbn2:}}
\addcontentsline{toc}{subsection}{cdfbn2}
\index{cdfbn2}
\begin{description}
\item[Purpose:] Compute the Brunt Vaissala frequency.
\item[Usage:] {\em cdfbn2 gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: cdfbn2 ORCA035-G32\_y0008m01d10\_gridT.nc \\
will compute $N^2$ for the given tag.
\item[Required mesh\_mask files or other files:]mesh\_zgr.nc, mesh\_hgr.nc
\item[Output:] {\em bn2.nc}. This file hold the variable vobn2. Note that this variable is located on T-point. (The intermediate
computation is done on w points, but final results are interpolated on T-points.
\item[Remark:] This program uses the eosbn2 routine of the NEMO OPA9 code. It is based on an approximation formula given
by Mc Dougall et al. ( ).
\item[Associated script:] {\em cdfbn2.ll}. This script can be used to compute $N^2$ for a run. It scan all
the gridT file for a given year and CONFIG, and produce the corresponding $N^2$ file.
\end{description}
\subsection*{\underline{cdfbn2-full:}}
\addcontentsline{toc}{subsection}{cdfbn2-full}
\index{cdfbn2-full}
\begin{description}
\item[Purpose:] Compute the Brunt Vaissala frequency. (Full step case).
\item[Usage:] {\em cdfbn2 gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: cdfbn2 ORCA035-G04\_y0008m01d10\_gridT.nc \\
will compute $N^2$ for the given tag.
\item[Required mesh\_mask files or other files:]mesh\_zgr.nc, mesh\_hgr.nc
\item[Output:] {\em bn2.nc}. This file hold the variable vobn2. Note that this variable is located on T-point. (The intermediate
computation is done on w points, but final results are interpolated on T-points.
\item[Remark:] This program uses the eosbn2 routine of the NEMO OPA9 code. It is based on an approximation formula given
by Mc Dougall et al. ( ).
\item[Associated script:] {\em cdfbn2-full.ll}. This script can be used to compute $N^2$ for a run. It scan all
the gridT file for a given year and CONFIG, and produce the corresponding $N^2$ file.
\end{description}
\newpage
\subsection*{\underline{cdfets:}}
\addcontentsline{toc}{subsection}{cdfets}
\index{cdfets}
\begin{description}
\item[Purpose:] Compute the Eddy Time Scale, and Rossby Radius.
\item[Usage:] {\em cdfets gridT }
\item[Input:] gridT is a file holding variables votemper and vosaline.
For instance: cdfets ORCA035-G32\_y0008m01d10\_gridT.nc \\
will compute the eddy time scale and the $1^{st}$ rossby radius for the given tag.
\item[Required mesh\_mask files or other files:]mesh\_zgr.nc, mesh\_hgr.nc
\item[Output:] {\em ets.nc}. This file hold two variables voets and sorosrad.
\item[Remark:] This routine is based on papers from Stammer et al ( ). See Julien.LeSommer@hmg.inpg.fr for more
details.
\item[Associated script:] {\em cdfets.ll}.
\end{description}
\newpage
\subsection*{\underline{cdfcurl:}}
\addcontentsline{toc}{subsection}{cdfcurl}
\index{cdfcurl}
\begin{description}
\item[Purpose:] Compute the curl of a vector field.
\item[Usage:] {\em cdfcurl gridU gridV nameU nameV level }\\
If level is different from 0, the 2D curl at level 'level' will be computed. If level is $<=$ 0, then the full 3D curl
is computed instead.
\item[Input:] gridU, gridV are the cdf files holding the U and V component of the vector, nameU and nameV the cdf name
of the variables corresponding to these components. level in the model level where to compute the curl (if $<=$ 0 the 3D
curl is computed instead).
For instance: cdfcurl ORCA025-G32\_y0008m01d10\_gridU.nc ORCA025-G32\_y0008m01d10\_gridV.nc vozocrtx vomecrty 6 \\
will compute the curl (relative vorticity) at level 6 for the flow field at the given tag. \\
cdfcurl ORCA025-G32\_y0008m01d10\_gridU.nc ORCA025-G32\_y0008m01d10\_gridV.nc sozotaux sometauy 1 \\
will compute the wind-stress curl from the file.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc
\item[Output:] {\em curl.nc}. The variable name is socurl(2D) or vocurl (3D case).
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfpv:}}
\addcontentsline{toc}{subsection}{cdfpv}
\index{cdfpv}
\begin{description}
\item[Purpose:] Compute the full potential vorticity ( computed at W-point of the C-grid) taking T S U V as input.
\item[Usage:] {\em cdfpv gridT gridU gridV }\\
\item[Input:] gridT, gridU, gridV are the cdf files holding the temperature and salinity (gridT) and the U and V components of the velocity. Variables names are assumed to
be as in OPA9, respectively {\em votemper, vosaline, vozocrtx, vomecrty}.\\
For instance: cdfpv ORCA025-G70\_y2000m01d05\_gridT.nc ORCA025-G70\_y2000m01d05\_gridU.nc ORCA025-G70\_y2000m01d05\_gridV.nc
will compute the potential vorticity. \\
\item[Method:] The potential vorticity is evaluated using the following formula :\\
$ PV = \frac{1}{\rho_0}(f+\zeta)\frac{\partial\sigma_0}{\partial z} $ \\
where $\rho_0 $ takes the constant value of 1020 $kg/m^3$, f is the coriolis parameter ($2\Omega sin(\phi)$), $\zeta$ is the relative vorticity
(or the curl) of the flow (as computed by cdfcurl). This program assumes that the model grid is a C-grid. PV is computed at W points, which is
the natural point to compute $\frac{\partial\sigma_0}{\partial z} $. $\zeta$ is computed at f-points, u-v level. Therefore, in order to estimate
$\zeta$ at W points, a 4-point horizontal average is required (to get $\zeta$ at T-points) followed by a 2-point vertical average to get it
at W-points.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr
\item[Output:] {\em pv.nc}. The variable name is vopv. Units are $s^{-1}m^{-1}\times10.^{11}$
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfpvor:}}
\addcontentsline{toc}{subsection}{cdfpvor}
\index{cdfpvor}
\begin{description}
\item[Purpose:] Compute the different component of the Ertel potential vorticity.
\item[Usage:] {\em cdfpvor gridT gridU gridV }\\
\item[Input:] gridT, gridU, gridV are the cdf files holding the temperature and salinity (gridT) and the U and V components of the velocity. Variables names are assumed to
be as in OPA9, respectively {\em votemper, vosaline, vozocrtx, vomecrty}.\\
For instance: cdfpvor ORCA025-G70\_y2000m01d05\_gridT.nc ORCA025-G70\_y2000m01d05\_gridU.nc ORCA025-G70\_y2000m01d05\_gridV.nc
will compute the potential vorticity. \\
\item[Method:] The total potential vorticity is evaluated as the sum of the relative vorticity and the stretching.
$ PV = (f+\zeta_t)\frac{\partial\sigma_0}{\partial z} $ \\
$ f = 2 \Omega sin ( \phi_t \pi / 180. ) $ \\
$ \zeta_f= \frac{\partial u}{\partial y} - \frac{\partial v}{\partial x} $ \\
and $\zeta_t$ is the mean value of the 4 corners of the grid cell. \\
$ \frac{\partial\sigma_0}{\partial z} $ is deduced from the Brunt-Vaissala frequency, using the code equation of state (McDougall,1987).
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr
\item[Output:] {\em pvor.nc}. The variables names are vorelvor, vostrvor and vototvor. Units are $kg\cdot m^{-4}\cdot s^{-1}\times10.^{7}$
\item[Associated script:] none
\item[Remark:] This tools is provided by Anne-Marie Treguier. It computes almost the same thing than cdfpv, but using different algorithm.
\end{description}
\subsection*{\underline{cdflspv:}}
\addcontentsline{toc}{subsection}{cdflspv}
\index{cdflspv}
\begin{description}
\item[Purpose:] Compute the large scale potential vorticity.
\item[Usage:] {\em cdfpvor gridT }\\
\item[Input:] gridT, holds the temperature and salinity (gridT). Variables names are assumed to
be as in OPA9, respectively {\em votemper, vosaline}.\\
For instance: cdfpvor ORCA025-G70\_y2000m01d05\_gridT.nc
will compute the large scale potential vorticity. \\
\item[Method:] The large scale potential vorticity is evaluated as the sum of the relative vorticity and the stretching.
$ PV = (f)\frac{\partial\sigma_0}{\partial z} $ \\
$ f = 2 \Omega sin ( \phi_t \pi / 180. ) $ \\
$ \frac{\partial\sigma_0}{\partial z} $ is directly computed from $ \sigma_0 $, at W point.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr
\item[Output:] {\em lspv.nc}. The variables name is volspv. Units are $kg\cdot m^{-4}\cdot s^{-1}\times10.^{7}$
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfw:}}
\addcontentsline{toc}{subsection}{cdfw}
\index{cdfw}
\begin{description}
\item[Purpose:] Compute the vertical velocity field from the continuity equation and the horizontal flow field. \\
This is for partials steps.
\item[Usage:] {\em cdfw gridU gridV [nameU nameV ] }\\
\item[Input:] gridU, gridV are the cdf files holding the U and V component of the vector, nameU and nameV the cdf name
of the variables corresponding to these components. If they are not given, we assume that these names are respectively
vozocrtx, and vomecrty.
For instance: cdfw ORCA025-G32\_y0008m01d10\_gridU.nc ORCA025-G32\_y0008m01d10\_gridV.nc \\
will compute the wn (vertical velocity) for the flow field at the given tag. \\
cdfw vitU.nc vitV.nc uzonal vmeridional \\
will compute wn from vitU.nc and vitV.nc files.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:] {\em w.nc}. The variable name is vovecrtz.
\item[Associated script:] none
\item[Remark:] Comparison of wn computed by the model and wn computed by this program shows small differences ($O(10^{-10})$ )
due to truncature on the flow field.
\end{description}
\newpage
\subsection*{\underline{cdfgeo-uv:}}
\addcontentsline{toc}{subsection}{cdfgeo-uv}
\index{cdfgeo-uv}
\begin{description}
\item[Purpose:] Compute the geostrophic velocity from the SSH field. This is for partials steps.
\item[Usage:] {\em cdfgeo-uv gridT }\\
\item[Input:] gridT is the file with the SSH named sossheig.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:] {\em ugeo.nc, vgeo.nc }. 2 netcdf files with respectively the U geostrophic component (ugeo), and the V geostrophic
component (variable vgeo). Note that in the actual version (to be changed ?) ugeo.nc is computed at the V point of the
C-grid, vgeo.nc is computed at the U point of the C-grid.
\item[Associated script:] none
\item[Author]: This is a contribution by Don Julian Juanno del rinc\`on del pedregal, Cisese, Ensenada, MX.
\end{description}
\newpage
\subsection*{\underline{cdfmxl:}}
\addcontentsline{toc}{subsection}{cdfmxl}
\index{cdfmxl}
\begin{description}
\item[Purpose:] Compute the mixed layer depth based on 3 different criteria: density criterion with $\rho_{crit}=0.01~kg.m^{-3}$,
density criterion with $\rho_{crit}=0.03~kg.m^{-3}$ and temperature criteria with $ |T_{crit}|=0.2^\circ C $. PARTIAL STEP version.
\item[Usage:] {\em cdfmxl gridT }\\
\item[Input:] The only file on input is the gridT type file where the program will look for temperature as {\tt votemper},
and salinity as {\tt vosaline}.
For instance: {\tt cdfmxl ORCA025-G42\_y0008m01d10\_gridT.nc }
will compute the mixed layer depth based on the 3 criteria.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:] {\em mxl.nc}. The variable names are somxl010, somxl030 and somxlt02.
\item[Associated script:] cdfmxl.ll is a script which computes the mixed layer for each gridT file in a directory.
\item[Remark:] There is a recent climatology of the somxlt02 variable [de Boyer Montegut \etal (2004)], which is built from
observations of temperature profiles.
\end{description}
\subsection*{\underline{cdfmxl-full:}}
\addcontentsline{toc}{subsection}{cdfmxl-full}
\index{cdfmxl-full}
\begin{description}
\item[Purpose:] Compute the mixed layer depth based on 3 different criteria: density criterion with $\rho_{crit}=0.01~kg.m^{-3}$,
density criterion with $\rho_{crit}=0.03~kg.m^{-3}$ and temperature criteria with $ |T_{crit}|=0.2^\circ C $. FULL STEP version
\item[Usage:] {\em cdfmxl-full gridT }\\
\item[Input:] The only file on input is the gridT type file where the program will look for temperature as {\tt votemper},
and salinity as {\tt vosaline}.
For instance: {\tt cdfmxl ORCA025-G03\_y0008m01d10\_gridT.nc }
will compute the mixed layer depth based on the 3 criteria.
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:] {\em mxl.nc}. The variable names are somxl010, somxl030 and somxlt02.
\item[Associated script:] cdfmxl-full.ll is a script which computes the mixed layer for each gridT file in a directory.
\item[Remark:] There is a recent climatology of the somxlt02 variable [de Boyer Montegut \etal (2004)], which is built from
observations of temperature profiles.
\end{description}
\newpage
\subsection*{\underline{cdficediags:}}
\addcontentsline{toc}{subsection}{cdficediags}
\index{cdficediags}
\begin{description}
\item[Purpose:] Compute ice volume, area and extend (defined as the area where the ice concentration $> 0.15$ ) for
both hemisphere.
\item[Usage:] {\em cdficediags icemodfile }\\
\item[Input:] ncdf file for icemod output
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mask.nc
\item[Output:] The output is done on the standard output. (see below).
\item[Associated script:] cdficediags.ll is used for monitoring the ice in ORCA025-G50
\item[Remark:] The ice volume is $\sum thickness * area * fraction $
\end{description}
Example of output :
\begin{verbatim}
Northern Hemisphere
NVolume (10^9 m3) 35268.1868656639999
NArea (10^9 m2) 13113.4348328960004
NExtend (10^9 m2) 13062.9962301439991
Southern Hemisphere
SVolume (10^9 m3) 4879.33240934399964
SArea (10^9 m2) 3477.76693043200021
SExtend (10^9 m2) 3394.26987212799986
\end{verbatim}
\newpage
\subsection*{\underline{cdfcensus:}}
\addcontentsline{toc}{subsection}{cdfcensus}
\index{cdfcensus}
\begin{description}
\item[Purpose:] Compute the water mass census for a given TS file, with eventual limitation to a specified area.
\item[Usage:] {\em cdfcensus gridTfile nlog [-zoom imin imax jmin jmax] [ -klim kmin kmax] [-bimg] }\\
The program computes the water mass census as the T,S binned volume for the whole area or a restricted area specified
by the line options. The output is given as an array (S,T) where the value of the array is the volume in the corresponding T,S
bin. Additionally, $\sigma_0(S,T), \sigma_1(S,T), \sigma_4(S,T),$ are given computed from the EOS. (Plotting purposes). \\
nlog is an integer number $>=0$ which is used to distort the output: in fact some water masses are extremely dominant in the ocean, with
volumes many order of magnitudes above other interesting waters. In order to rescale the output, we apply the following lines of code, as soon
as nlog $>0$:
\begin{verbatim}
! use a distortion function ( n x log ) to reduce extrema in the output file.
DO ji=1,ns
DO jj=1,nt
dump(ji,jj)=rcensus(ji,jj)
DO ilog=1,nlog
dump(ji,jj)=ALOG10(1+dump(ji,jj))
END DO
END DO
END DO
\end{verbatim}
If option -bimg specified, a bimg file is output instead of a netcdf file.
\item[Input:] ncdf file for gridT
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc, mesh\_zgr.nc
\item[Output:] Output is done on census.nc (variables volcensus,sigma0,sigma2,sigma4). The unit of volcensus is somewhat tricky, depending on the
number of log rescaling that where used. A bimg output file is also available if option -bimg given.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfpendep:}}
\addcontentsline{toc}{subsection}{cdfpendep}
\index{cdfpendep}
\begin{description}
\item[Purpose:] Computes penetration depth for passive tracer output. This is the ratio between inventory
and surface concentration (2D) field
\item[Usage:] {\em cdfpendep TRCfile [-inv inventory\_name -trc trc\_name ] }
\item[Input:] TRC file contains the passive tracer outputs. By default, the program assumes that the inventory variable name is
{\tt invcfc} and the concentration variable name is {\tt cfc11}. If it is not the case, respective inventory and concentration names must
be specified on the command line with -inv and -trc options.
\item[Output:] Outpout is done on the {\tt pendep.nc} cdf file with variable {\tt pendep}, units meters.
\item[Required mesh\_mask files or other files:] none
\item[Associated script:] : none
\end{description}
\newpage
\subsection*{\underline{cdfbci:}}
\addcontentsline{toc}{subsection}{cdfbci}
\index{cdfbci}
\begin{description}
\item[Purpose:] Compute the term of energetic transfert for the baroclinic instability
\item[Usage:] {\em cdfbci file }
\item[Input:] file is produced by a companion tools cdfmoyuvwt which produces the required momentum for the BCI/BTI computation.
\item[Output:] bci.nc file contains 5 variables :
\begin{enumerate}
\item {\bf dTdx}: zonal derivate of Tbar on T point (x1000)
\item {\bf dTdy}: meridional derivate of Tbar on T point (x1000)
\item {\bf uT}: anomaly of u times anomaly of T on T point
\item {\bf vT}: anomaly of v times anomaly of T on T point
\item {\bf bci}: transfert of energy for the baroclinic instability (x1000)
\end{enumerate}
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc
\item[Associated script:] : none
\item[Author:] Ang\'elique Melet. Ask for details.
\end{description}
\subsection*{\underline{cdfbti:}}
\addcontentsline{toc}{subsection}{cdfbti}
\index{cdfbti}
\begin{description}
\item[Purpose:] Compute the term of energetic transfert for the barotropic instability
\item[Usage:] {\em cdfbti file }
\item[Input:] file is produced by a companion tools cdfmoyuvwt which produces the required momentum for the BCI/BTI computation.
\item[Output:] bti.nc file contains 8 variables :
\begin{enumerate}
\item {\bf dudx}: zonal derivate of u on T point
\item {\bf dvdx}: zonal derivate of v on T point
\item {\bf dudy}: meridional derivate of u on T point
\item {\bf dvdy}: meridional derivate of v on T point
\item {\bf anousqrt}: temporal mean of the square of the zonal speed anomaly
\item {\bf anovsqrt}: temporal mean of the square of the meridional speed anomaly
\item {\bf anouv}: temporal mean of the Reynolds term
\item {\bf bti}: transfert of energy for the barotropic instability
\end{enumerate}
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc
\item[Associated script:] : none
\item[Author:] Ang\'elique Melet. Ask for details.
\end{description}
\subsection*{\underline{cdfkempemekeepe:}}
\addcontentsline{toc}{subsection}{cdfkempemekeepe}
\index{cdfkempemekeepe}
\begin{description}
\item[Purpose:] Compute the term of energetic transfert
from mean kinetic energy to mean potential energy (T1)
and from eddy potential energy to eddy kinetic energy (T3)
\item[Usage:] {\em cdfkempemekeepe file } (pronounciation is as read.)
\item[Input:] file is produced by a companion tools cdfmoyuvwt which produces the required momentum for the BCI/BTI computation.
\item[Output:] transfertst1t3.nc file contains 2 variables :
\begin{enumerate}
\item {\bf wT}: temporal mean of w times temporal mean of T on T point (*1000)
\item {\bf anoW}: temporal mean of anomaly of w times ano of T on T point (*1000)
\end{enumerate}
\item[Required mesh\_mask files or other files:] none
\item[Associated script:] : none
\item[Author:] Ang\'elique Melet. Ask for details.
\end{description}
\subsection*{\underline{cdfnrjcomp:}}
\addcontentsline{toc}{subsection}{cdfnrjcomp}
\index{cdfnrjcomp}
\begin{description}
\item[Purpose:] Compute the terms for energy components
(Mean Kinetic Energy, Eddy Kinetic Energy,
Mean Potential Energy, Eddy Potential Energy )
compute : tbar,ubar,vbar,anotsqrt,anousqrt,anovsqrt
\item[Usage:] {\em cdfnrjcomp file }
\item[Input:] file is produced by a companion tools cdfmoyuvwt which produces the required momentum for the BCI/BTI computation.
\item[Output:] nrjcomp.nc file contains 6 variables :
\begin{enumerate}
\item {\bf tbar} : temporal mean of the temperature on T point
\item {\bf ubar}: temporal mean of the zonal velocity on T point
\item {\bf vbar}: temporal mean of the meridional velocity on T point
\item {\bf anotsqrt}: temporal mean of the square of the temperature anomaly on T point (*1000)
\item {\bf anousqrt}: temporal mean of the square of the zonal speed anomaly on T point (*1000)
\item {\bf anovsqrt}: temporal mean of the square of the meridional speed anomaly on T point (*1000)
\end{enumerate}
\item[Required mesh\_mask files or other files:] none
\item[Associated script:] : none
\item[Author:] Ang\'elique Melet. Ask for details.
\end{description}
\newpage
\section{Extracting and information tools}
\subsection*{\underline{cdfprofile:}}
\addcontentsline{toc}{subsection}{cdfprofile}
\index{cdfprofile}
\begin{description}
\item[Purpose:] Extract a vertical profile for a given variable in a given file at a given I J
\item[Usage:] {\em cdfprofile I J file\_name var\_name }
\item[Input:] I J : i, j position where to look at the profile \\
file\_name : name of the file \\
var\_name : name of the variable \\
For instance: cdfprofile 32 45 ORCA035-G32\_y0008m01d10\_gridT.nc votemper \\
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfprobe:}}
\addcontentsline{toc}{subsection}{cdfprobe}
\index{cdfprobe}
\begin{description}
\item[Purpose:]Display a 2 columns output time(d) value
\item[Usage:] {\em cdfprobe cdf\_file I J cdfvar [level]}
\item[Input:] cdf\_file = name of the file \\
I J : position where to look at
cdfvar : name of the cdf variable \\
level : (optional) : Level where to look at
example: cdfprobe u10.nc 300 350 u10 \\
example: cdfprobe alltag\_gridT.nc 240 234 votemper 30
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Associated script:] none
\end{description}
\subsection*{\underline{cdfwhereij:}}
\addcontentsline{toc}{subsection}{cdfwhereij}
\index{cdfwhereij}
\begin{description}
\item[Purpose:] Give the longitude and latitude of the (i,j) points from a coordinate file.
\item[Usage:] {\em cdfwhereij imin imax jmin jmax coordinate\_file point\_type }
\item[Input:] imin, imax, jmin, jmax : zoom in i,j coordinates \\
coordinate\_file : either a coordinate or a mesh\_hgr file \\
point\_type : either T, U, V or F in upper or lower case \\
For instance: cdfwhereij 32 45 123 432 coordinate\_orca025.nc f \\
will give the zoom position in longitude latitude coordinates, for the f points
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files.
\item[Output:] output is done on standard output
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdffindij:}}
\addcontentsline{toc}{subsection}{cdffindij}
\index{cdffindij}
\begin{description}
\item[Purpose:] Give the i,j corresponding to longitude and latitude given as arguments.
\item[Usage:] {\em cdffindij xmin xmax ymin ymax [coordinate\_file] [point\_type] }
\item[Input:] xmin, xmax, ymin, ymax : zoom in geographical coordinates \\
coordinate\_file : either a coordinate or a mesh\_hgr file. If not given, assumes $coordinates.nc$ \\
point\_type : either T, U, V or F in upper or lower case. If not given assumes $F$ \\
For instance: cdffindij -30 0 -20 40 coordinate\_orca025.nc f \\
will give the zoom position imin imax jmin jmax for the given configuration, for nearest f-points. \\
{\tt cdffindij -180 0 -20 25 coordinates\_ORCA\_R025\_lombok+ombai.nc F} \\
gives:
\begin{verbatim}
rdis = 0.1316580027
rdis = 0.1287123561
430 1149 417 602
-179.88 -0.12 -19.96 25.03
\end{verbatim}
rdis is a raw estimation (in Deg.) of the distance between the given position, and the real position. In some cases,
the search algorithm fails (zoom across boundaries or in very distorted regions), and an error message is displayed.
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files.
\item[Output:] output is done on standard output
\item[Remark:] The arguments must be in the proper order. In particular, if the user needs to specify the point\_type
it is necessary to also specify the name of the coordinate file.
\item[Associated script:] none
\end{description}
\subsection*{\underline{cdfcofdis:}}
\addcontentsline{toc}{subsection}{cdfcofdis}
\index{cdfcofdis}
\begin{description}
\item[Purpose:] Compute the distance from the coast at the surface of the ocean, and write it to a netcdf file, just as the cofdis
routine of OPA does. This is therefore the off-line version of cofdis. Remember that the on-line version is not mpp compliant! The given distance corresponds to T points.
\item[Usage:] {\em cdfcofdis mesh\_hgr.nc mask.nc gridT.nc }
\item[Input:] the mesh\_zgr and mask files are given on input (with arbitrary names), together with a gridT file, used only for size and depth references.
\item[Required mesh\_mask files or other files:] given as argument
\item[Output:] The output file is named dist.coast, with variable name $Tcoast$. Despites its name it is a netcdf file. Name is kept as in NEMO.
\end{description}
\newpage
\subsection*{\underline{cdfweight:}}
\addcontentsline{toc}{subsection}{cdfweight}
\index{cdfweight}
\begin{description}
\item[Purpose:] Return a binary weight file to be used by cdfcoloc.
\item[Usage:] {\em cdfweight Greg\_File [coord\_file] [point\_type]}
\item[Input:] Greg\_file = Like G. Holloway file : asci file iyxz.txt (is a station id). \\
coordinate\_file : either a coordinate or a mesh\_hgr file. If not given, assumes $coordinates.nc$ \\
point\_type : either T, U, V or F in upper or lower case. If not given assumes $F$ \\
produce a weight file called weight\_point\_type.bin \\
For instance: cdfweight iyxz7904.txt coordinate\_ORCA025.nc T \\
will produce weight\_T.bin file.
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files, mesh\_zgr.nc
\item[Output:] weight file. This file is an unformatted binary fortran file, suitable for cdfcoloc. It contains as
many records as stations in the input ascii file. Each record consists of :\\
ID ymin xmin idep imin jmin kmin iquadran hN alpha beta gamma (read the code for more details).\\
\item[Remark:] The arguments must be in the proper order. In particular, if the user needs to specify the point\_type
it is necessary to also specify the name of the coordinate file.
\item[Associated script:] none
\end{description}
\subsection*{\underline{cdfcoloc:}}
\addcontentsline{toc}{subsection}{cdfcoloc}
\index{cdfcoloc}
\begin{description}
\item[Purpose:] Return an ascii file with colocalized U V Sx Sy and H from a weight file given as input.
\item[Usage:] {\em cdfcoloc weight\_root gridT gridU gridV }
\item[Input:] weight\_root is the begining of the weight file name (excluding \_T.bin, \_U.bin or \_V.bin ) \\
grid T gridU gridV are the model outputfile from which we take the velocities to be colocalized.
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files, mesh\_zgr.nc and mask.nc
\item[Output:] produced a default izUVSxSyH.txt ASCII file, formed with 7 columns of data and one line per station. \\
i, z : station ID and depth (as on the Greg file). \\
U V : E-W and N-S (geographic) velocity component.(cm/s) \\
Sx, Sy : e-W and N-S (geographic) bottom slope (\%)\\
H: bottom topography (m) \\
All these values are computed with a trilinear interpolation at the station location.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfweight2D:}}
\addcontentsline{toc}{subsection}{cdfweight2D}
\index{cdfweight}
\begin{description}
\item[Purpose:] Return a binary weight file to be used by cdfcoloc.
\item[Usage:] {\em cdfweight track.iyxz [pseudo\_coord\_file] [point\_type]}
\item[Input:] track.iyxz: is a survey bathymetric track file, taken from GEODAS web site, for instance (file.xyz), modified in order
to have i lat lon bathy in this order. A script is provided to change file.xyz into file.iyxz (see below) \\
pseudo\_coordinate\_file : either a coordinate or a mesh\_hgr file. If not given, assumes $coordinates.nc$ \\
point\_type : either T, U, V or F in upper or lower case. If not given assumes $F$ \\
produce a weight file called weight\_point\_type.bin \\
For instance: cdfweight iyxz.txt pseudo\_coordinates\_zapiola\_etopo1.nc T \\
will produce weight\_T.bin file.
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files, mesh\_zgr.nc
\item[Output:] weight file. This file is an unformatted binary fortran file, suitable for cdfcoloc. It contains as
many records as stations in the input ascii file. Each record consists of :\\
ID ymin xmin idep imin jmin kmin iquadran hN alpha beta gamma (read the code for more details).\\
\item[Remark:] This program is a downgrade of cdfweight. Produced weight files will be used by cdfcoloc2d. It is suitable to treat bathymetric files, for instance (etopo1, GEBCO etc...), in order to colocate hydrographic tracks.
\item[Associated script:] xyz2iyxz.ksh to convert GEODAS xyz file into input file for cdfweight2D
\end{description}
\subsection*{\underline{cdfcoloc2D:}}
\addcontentsline{toc}{subsection}{cdfcoloc2D}
\index{cdfcoloc2D}
\begin{description}
\item[Purpose:] Return an ascii file with colocalized H from a weight file given as input.
\item[Usage:] {\em cdfcoloc2D weight\_root BATHYFILE }
\item[Input:] weight\_root is the begining of the weight file name (excluding \_T.bin) \\
BATHYFILE is a bathymetric file such as ETOPO1 or GEBCO1 for instance.
\item[Required mesh\_mask files or other files:] either coordinates or mesh\_hgr files
\item[Output:] produced a default izb.txt ASCII file, formed with 3 columns of data and one line per station. \\
i, z : station ID and depth (as on the Greg file). \\
H: bottom topography (m) \\
All these values are computed with a bilinear interpolation at the station location.
\item[Remark:] mesh\_hgr.nc file is in this case a pseudo\_coordinates.nc file, computed fron the lon,lat input file by mkcoor.f90
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfclip:}}
\addcontentsline{toc}{subsection}{cdfclip}
\index{cdfclip}
\begin{description}
\item[Purpose:] Extract a subzone of a netcdf file.
\item[Usage:] {\em cdfclip -f file -zoom imin imax jmin jmax [kmin kmax ]}
\item[Input:] file is the netcdf file to clip \\
imin imax jmin jmax are the limit in (I,J) space to clip. If optional kmin and kmax are given, cdfclip also
clip in the vertical direction. Otherwise, it clips the whole depth of the file.
For instance: cdfclip -f coordinates.nc -zoom 100 300 250 400
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on {\tt cdfclip.nc} with same variables name as original.
\item[Remark:] Still to be done : limit to specified variables, clip on the vertical.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfmaxmoc:}}
\addcontentsline{toc}{subsection}{cdfmaxmoc}
\index{cdfmaxmoc}
\begin{description}
\item[Purpose:] Give the max and min intensity of the MOC, previously computed with cdfmoc.
\item[Usage:] {\em cdfmaxmoc moc\_file basin latmin latmax depmin depmax }
\item[Input:] moc\_file is the netcdf file computed with $cdfmoc$ or $cdfmoc-full$ \\
basin is an indicator for the required basin. Can either atl, inp, ind, pac or glo. \\
latmin, latmax, depmin, depmax is the window (lat,dep) where the extrema are searched.
For instance: cdfmaxmoc ORCA025-G42\_y0010\_MOC.nc atl -30 70 200 5000 \\
will indicates the max/min of the overturning and their respective location, for year 10 of
the run ORCA025-G42, for Atlantic basin, limited to 30S-70N, between 200 m and 5000 m depth.
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Remark:] depmin and depmax are given as positive.
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfzoom:}}
\addcontentsline{toc}{subsection}{cdfzoom}
\index{cdfzoom}
\begin{description}
\item[Purpose:] Shows an ASCII representation of a 2D (x-y, x-z or y-z) slab of any variable from an output file
\item[Usage:] {\em cdfzoom -f ncfile -zoom imin imax jmin jmax [-lev kmin kmax] [-fact scale\_factor] [-var cdfvarname] }
\item[Input:] ncfile is the name of the file to look at. \\
imin,imax,jmin,jmax are the limits for the horizontal zoom. \\
kmin, kmax are the limits for the vertical zoom. If kmin $=$ kmax, then the x-y slab is shown at level kmin. If kmax $>$ kmin,
then either a x-z or y-z slab will be shown, but in this case, either imin$=$imax, or jmin$=$jmax, otherwise the program will stop. \\
scale\_factor is an optional dividing scale factor used to adjust the output values to the fortran format (f12.4) \\
cdfvarname is the name of the variable you want to look at. If not given, or wrong name, the program will propose the list of
available variables. \\
For instance: cdfzoom -f ORCA05-G50\_y1949m01d30\_gridT.nc -lev 1 43 -zoom 470 482 175 175 -var votemper \\
will show the vertical slab (x-z) of the temperature field, at J=175, for I between 470 and 482, K from 1 to 43
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Associated script:] none
\end{description}
\newpage
\subsection*{\underline{cdfbathy:}}
\addcontentsline{toc}{subsection}{cdfbathy}
\index{cdfbathy}
\begin{description}
\item[Purpose:] Modify a bathymetric file for NEMO, in many different ways.
\item[Usage:] {\em cdfbathy -f bathy\_file -zoom imin imax jmin jmax -fillzone -fullstep depmin
-replace 'file' -dumpzone 'file' -a -o } \\
-file (or -f ) : name of bathy file \\
-zoom (or -z ) : sub area of the bathy file to work with (imin imax jmin jmax) \\
-fillzone (or -fz ) : sub area will be filled with 0 up to the first coast line \\
-raz\_zone (or -raz ) : sub area will be filled with 0 up \\
-raz\_below (or -rb ) depmin : bathy set to 0 in the area when bathy <= depmin \\
-fullstep (or -fs ) depmin : sub area will be reshaped as full-step, below depmin \\
requires the presence of the file zgr\_bat.txt (from ocean.output, eg ) \\
-dumpzone (or -d ): sub area will be output to an ascii file, which can be used by -replace \\
after manual editing \\
-nicedumpzone (or -nd ): sub area will be output to an ascii file (nice output) \\
-replace (or -r ) : sub area defined by the file will replace the original bathy \\
-append (or -a ) : fortran log file (log.f90) will be append with actual modif \\
Standard behaviour is to overwrite/create log file \\
-overwrite (or -o ): input bathy file will be used as output. \\
Standard behaviour is to use a work copy of the original file \\
(indexed from 01 to 99 if necessary )
\item[Input:] This program allows a short syntax for option, and a longer, more mnemonic. \\
Basically, this program works on a copy of the input file, indexed from 01 to 99 if necessary. You can work directly
on the input file with the option -overwrite ( or -o), but take care that original data will be modified. \\
The second important point is that all actions specified through the options apply to the sub-area indicated by the zoom
option, given in the (I,J) space. \\
Specific actions are then controled by the options :\\
\begin{description}
\item[information]: just create an ascii file with a formatted copy of the sub-area \\
-dumpzone (-d) 'file.txt' \\
-nicedumpzone (-nd) 'file.txt', same as -d but with a different format.
\item[modification]: For these king of action, a log file (log.f90) is maintained. It records the different modification in
a fortran 90 file, that can be used afterward to replace the original bathy. Changes can be append to the log file
if -append (-a) option is given. The possible modifications are :\\
-fillzone (-fz) : Fill a subarea between the edge of the domain and the 1rst coast line point. Usefull to fill the
Pacific, for instance, in a NATL4 configuration, extracted from ORCA025.\\
-raz\_zone (-raz) : the sub-area is set to 0. \\
-replace (-r) 'file.txt' : replace the 'patch' of bathymetry given by file.txt in the input file. The file.txt is typically
created from a previous call with -dumpzone option, and manually edited to fix some details of the topography. \\
-fullstep (-fs) : the bathy defined in the sub-area will be z-step like bathymetry. This option requires, an ASCII file
describing the vertical discretization of the model. This file ( {\tt zgr\_bat.txt} ) is made from a copy of
{\tt ocean.output}
\end{description}
\item[Required mesh\_mask files or other files:] {\tt zgr\_bat.txt} for -fs option. ( Should be replace by mesh\_zgr.nc)
\item[Output:] Output file is 'input\_file'.nn where nn is a 2 digit integer incremented as necessary not to overwrite
existing file.
\item[Associated script:] none
\item[Remark:] This program was written for helping the user to tune a bathymetric file. Its dump/replace capability as well
as the log file maintenance is very much appreciated. It can be improved or extended with new options, if necessary.
However, it is not intended to replace the OPABAT package, which well performs initial interpolation and filtering.
\item[Example:] none
\end{description}
\newpage
\subsection*{\underline{cdfvar:}}
\addcontentsline{toc}{subsection}{cdfvar}
\index{cdfvar}
\begin{description}
\item[Purpose:] Extension to any variable of a file of cdfbathy (see cdfbathy for details).
\item[Usage:] {\em -f file -v var -zoom imin imax jmin jmax klev jtime -fillzone -fullstep depmin
-replace 'file' -dumpzone 'file' -a -o}
\item[Input:] same as cdfbathy. In addition, you specify the variable name to work with, and the level in the zoom option
\item[Required mesh\_mask files or other files:]
\item[Output:] as cdfbathy
\item[Remark/bugs :] This program requires some cleaning as some options are not relevant for a variable different than bathymetry ... For instance, do not use options such as -fullstep with temperature or salinity ... this may lead to stupid results !
\item[Associated scripts:] none
\end{description}
\newpage
\subsection*{\underline{cdfmax:}}
\addcontentsline{toc}{subsection}{cdfmax}
\index{cdfmax}
\begin{description}
\item[Purpose:] Display min/max of a variable in a file, and their respective location. A sub area can be specified either horizontally or vertically.
\item[Usage:] {\em cdfmax -f ncfile [-var cdfvarname] [-zoom imin imax jmin jmax] [-lev kmin kmax] [-fact scale\_factor] [-xy]}
\item[Input:] ncfile is the name of the file to look at. \\
cdfvarname is the name of the variable you want to look at. If not given, or wrong name, the program will propose the list of
available variables. \\
imin,imax,jmin,jmax are the limits for the horizontal zoom. \\
kmin, kmax are the limits for the vertical zoom. \\
A vertical slab can thus be specified, playing around with the limits. \\
scale\_factor is an optional multiplying scale factor usefull for units change. \\
If -xy option is used, cdfmax is forced to work on an horizontal slab, whatever the limits are.
For instance: \\
\scriptsize{
\begin{verbatim}
cdfmax -f ORCA05-G60_y1968m12d26_gridT.nc -zoom 500 500 300 500 -var votemper
votemper with multiplying factor of 1.000000000
i-slab MAX: i long j lat k dep MaxValue MIN: i long j lat k dep MinValue
500 500 -37.75 300 24.24 8 63.88 0.24313E+02 500 -88.71 499 82.95 1 3.05 -0.17027E+01
\end{verbatim} }
will show the min/max temperature over the vertical slab (y-z) at I=500, for J between 300 and 500.
\scriptsize{
\begin{verbatim}
cdfmax -f ORCA05-G60_y1968m12d26_gridT.nc -fact 100 -var sossheig
sossheig with multiplying factor of 100.0000000
level dep MAX: i long j lat MaxValue MIN: i long j lat MinValue
1 3.05 56 100.25 277 13.38 0.15471E+03 566 -4.75 92 -61.73 -0.13513E+03
\end{verbatim} }
will show the min/max SSH in cm.
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Associated script:] none
\item[Remark:] In the CDFTOOLS directory, the attentive reader will find a {\em cdfmax-test} version of this program. It is a beta
version where the input file may have more than one time step in it. It requires modification in cdfio, and it is not working in
the standard distribution. Wait for next one !
\end{description}
\newpage
\subsection*{\underline{cdfmax\_sp:}}
\addcontentsline{toc}{subsection}{cdfmax\_sp}
\index{cdfmax\_sp}
\begin{description}
\item[Purpose:] Display min/max of a variable in a file, and their respective location. A sub area can be specified either horizontally or vertically.
This is very similar to cdfmax, except that it takes into account the 'missing\_value' attribute for variables.
\item[Usage:] {\em cdfmax\_sp -f ncfile [-var cdfvarname] [-zoom imin imax jmin jmax] [-lev kmin kmax] [-fact scale\_factor] [-xy] }
\item[Input:] ncfile is the name of the file to look at. \\
cdfvarname is the name of the variable you want to look at. If not given, or wrong name, the program will propose the list of
available variables. \\
imin,imax,jmin,jmax are the limits for the horizontal zoom. \\
kmin, kmax are the limits for the vertical zoom. \\
A vertical slab can thus be specified, playing around with the limits. \\
scale\_factor is an optional multiplying scale factor usefull for units change. \\
If -xy is specified, the program is forced to work on an horizontal slab, even if 1 direction is degenerated.
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on standard output
\item[Associated script:] none
\item[Remark:] In the CDFTOOLS directory, the attentive reader will find a {\em cdfmax-test} version of this program. It is a beta
version where the input file may have more than one time step in it. It requires modification in cdfio, and it is not working in
the standard distribution. Wait for next one !
\end{description}
\newpage
\subsection*{\underline{cdf16bit:}}
\addcontentsline{toc}{subsection}{cdf16bit}
\index{cdf16bit}
\begin{description}
\item[Purpose:] Convert a 32 bit (real*4, or float) model output file into a 16 bit (integer*2 or short) outputfile. The program scans
the variables of the file given as input, and if the variables name's is within a pre-defined list (see below), then a \SF and
an \ao values are determined to re-map the float onto a short. Used \SF and \ao are written to the file as
an attribute of the given variable. These attributes are now recognized by many Netcdf tools and if they exist in the file they are
used as soon as the file is read. Defaut values are respectively 1 and 0.
Additional capability is provided for variables with a great range of values, for which the scaling results in a big loss in precision: The
log10 of the field is taken before the scaling. This works only for positive values. The save\_log10 attribute
is associated to this capability. It can take the value 0 (default, no log10 taken) or 1 ( log10 transform before scaling).
\item[Usage:] {\em cdf16bit 32\-bit\_ncfile [-check] [-verbose] }
\item[Input:] 32\-bit\_ncfile is the data file.\\
-check : This option enables a checking of the scaling : a warning is emitted if the scaling results in an overflow for short variable. The
min and max values of the corresponding field is indicated, and a suggestion is made for changing \SF and \ao. \\
-verbose : this implicitely activates -check. It gives the same kind of information but in case of 3D variables, details are given foreach
level. \\
For instance: cdf16bit ORCA025-G70\_y2004m02\_gridT.nc -check \\
will produce a cdf16bit file with the same variable name as in the input file.
\item[Required mesh\_mask files or other files:] none
\item[Output:] output is done on cdf16bit.nc file.
\item[Comments:] A DRAKKAR rule is to rename this file as the original 32 bits file, but with nc16 extension. The -check option is encouraged
at least when initiating the conversion. If the \SF ansd \ao are not adequate, the only way is to get the code and change the values,
which are hard coded (in fact, what is hard coded are the min and max value for a given variable; \SF and \ao are deduced from them).
\item[Details:] The standard variables of model output are automatically recognize. Variables not in the list are kept in float. At present,
only the vertical diffusivity (votkeavt) is saved using log10.
\begin{small}
\begin{verbatim}
votemper ! Potential temperature (Deg C)
vosaline ! Salinity (PSU)
sossheig ! Sea Surface Heigh (m)
somxl010 ! Mixed layer depth (m)
sohefldo ! Total Heat flux Down (W/m2)
soshfldo ! Solar Heat flux Down (W/m2)
sowaflup ! Evaporation - Precipitation Up ( kg/m2/s)
sowafldp ! SSS damping term Up (kg/m2/s )
iowaflup ! ???
sowaflcd ! Concentration Dilution water flux (kg/m2/s)
solhflup ! Latent Heat Flux Up (W/m2)
solwfldo ! Long Wave radiation Heat flux Down (W/m2)
sosbhfup ! Sensible Heat Flux Up (W/m2)
vozocrtx ! Zonal Velocity U (m/s)
sozotaux ! Zonal Wind Stress (N/m2)
vomecrty ! Meridional Velocity V (m/s)
sometauy ! Meridional Wind Stress (N/m2)
vovecrtz ! Vertical Velocity W (m/s)
votkeavt ! Vertical mixing coef log(avt) log(m2/s) : USE SAVE_LOG10
isnowthi ! Snow Thickness (m)
iicethic ! Ice Thickness (m)
iiceprod ! Ice Production (m/kt) (step ice)
ileadfra ! Ice Lead Fraction (%) (In fact, ice concentration)
iicetemp ! Ice Temperature (Deg C )
ioceflxb ! Ocean Ice flux (W/m2)
iicevelu ! Zonal Ice Velocity (m/s) (at U point)
iicevelv ! Meridional Ice Velocity (m/s) (at V point)
isstempe ! Sea Surface Temperature (Deg C)
isssalin ! Sea Surface Salinity (PSU)
iocetflx ! Total Flux at Ocean Surface (W/m2)
iocesflx ! Solar Flux at Ocean Surface (W/m2)
iocwnsfl ! Non Solar Flux at Ocean surface (W/m2)
iocesafl ! Salt Flux at Ocean Surface (kg/m2/kt)
iocestru ! Zonal Ice Ocean Stress (N/m2)
iocestrv ! Meridional Ice Ocean Stress (N/m2)
iicesflx ! Solar FLux at ice/ocean Surface (W/m2)
iicenflx ! Non Solar FLux at ice/ocean Surface (W/m2)
isnowpre ! Snow Precipitation (kg/day)
\end{verbatim}
\end{small}
A more flexible way to operate will be imagined soon !
Let float being the physical value and short the stored value, then the following formula applies \\
$ float = short \times \SF + \ao $
\item[Associated script:] cdf16bit.ll
\end{description}
\subsection*{\underline{cdfconvert:}}
\addcontentsline{toc}{subsection}{cdfconvert}
\index{cdfconvert}
\begin{description}
\item[Purpose:] Convert a set of dimgfile (Clipper like)
to a set of CDF files (Drakkar like )
\item[Usage:] {\em cdfconvert 'Clipper tag ' 'CLIPPER confcase'}
\item[Input:] Clipper tag is the tag of the dimg clipper file. \\
CLIPPER confcase is for instance ATL6-V6
\item[Required mesh\_mask files or other files:] mesh\_hgr.nc and mesh\_zgr.nc. There are 2 programs
(coordinates2hgr.f90 and coordinates2zgr.f90) which do the job! They require a coordinates.diags and an ASCII bathy file, {\it a la clipper}. Although
they are not built as cdftools, the are provided in the cdftools distribution for convenience.
\item[Output:] {\tt CONFCASE\_TAG\_grid[TUV].nc,CONFCASE\_TAG\_PSI.nc } with the standard name for variables.
\item[Associated script:] convclipper2nc.ksh
\item[Remark:] As you can see in the associated script, for a given tag, the full bunch of clipper files must be located
in the current directory. ({\it ie} \_U\_, \_V\_, \_T\_, \_S\_, \_2D\_ and eventually \_SSH\_. \_UU\_ and \_VV\_ )
\end{description}
\newpage
\subsection*{\underline{cdfflxconv:}}
\addcontentsline{toc}{subsection}{cdfflxconv}
\index{cdfflxconv}
\begin{description}
\item[Purpose:] Convert a set of fluxes dimgfile (Clipper like)
to a set of CDF files (Drakkar like )
\item[Usage:] {\em cdfflxconv YEAR CONFIG }
\item[Input:] YEAR is the year on 4 digits, CONFIG, is the CLIPPER config name ({\it eg} ATL3
\item[Required mesh\_mask files or other files:] clipper coordinates.diags file.
\item[Output:] This program creates 6 netcdf file with the standard NEMO name for forced simulation:\\
\begin{verbatim}
ECMWF_emp_1d_${year}.${config}.nc
ECMWF_qnet_1d_${year}.${config}.nc
ECMWF_qsr_1d_${year}.${config}.nc
ECMWF_sst_1d_${year}.${config}.nc
ECMWF_taux_1d_${year}.${config}.nc
ECMWF_tauy_1d_${year}.${config}.nc
\end{verbatim}
\item[Associated script:] cdfflxconv.ll
\item[Remark:]
\end{description}
\newpage
\subsection*{\underline{cdfsstconv:}}
\addcontentsline{toc}{subsection}{cdfsstconv}
\index{cdfsstconv}
\begin{description}
\item[Purpose:] Convert a set of SST dimgfile (Clipper like)
to a set of CDF files (Drakkar like )
\item[Usage:] {\em cdfsstconv YEAR CONFIG }
\item[Input:] YEAR is the year on 4 digits, CONFIG, is the CLIPPER config name ({\it eg} ATL3
\item[Required mesh\_mask files or other files:] clipper coordinates.diags file.
\item[Output:] This program creates 6 netcdf file with the standard NEMO name for forced simulation:\\
\begin{verbatim}
ECMWF_sst_1d_${year}.${config}.nc
\end{verbatim}
\item[Associated script:] cdfsstconv.ll
\item[Remark:] This is in fact a subset of cdfflxconv, limited to SST by ugly goto: :(
\end{description}
\subsection*{\underline{cdfstrconv:}}
\addcontentsline{toc}{subsection}{cdfstrconv}
\index{cdfstrconv}
\begin{description}
\item[Purpose:] Convert a set of STRESS dimgfile (Clipper like)
to a set of CDF files (Drakkar like )
\item[Usage:] {\em cdfstrconv YEAR CONFIG }
\item[Input:] YEAR is the year on 4 digits, CONFIG, is the CLIPPER config name ({\it eg} ATL3
\item[Required mesh\_mask files or other files:] clipper coordinates.diags file.
\item[Output:] This program creates 6 netcdf file with the standard NEMO name for forced simulation:\\
\begin{verbatim}
ECMWF_taux_1d_${year}.${config}.nc
ECMWF_tauy_1d_${year}.${config}.nc
\end{verbatim}
\item[Associated script:] cdfstrconv.ll
\item[Remark:] This is in fact a subset of cdfflxconv, limited to STRESS by ugly goto: :(
\end{description}
\newpage
\subsection*{\underline{cdfmltmask:}}
\addcontentsline{toc}{subsection}{cdfmltmask}
\index{cdfmltmask}
\begin{description}
\item[Purpose:] Mask a given variable of the input file with the appropriate mask read in mask file.
\item[Usage:] {\em cdfmltmask Input\_file mask\_file cdf\_var point\_type\_on\_Cgrid}
\item[Input:] Input\_file : file to be masked \\
mask\_file : mask file \\
cdf\_var: variable to be masked \\
point\_type\_on\_Cgrid : either T U V or F
\item[Required mesh\_mask files or other files:] none, the mask name is given on command line.
\item[Output:] output is done on Input\_file\_masked.
\item[Associated script:] none
\item[Contributor:] M\'elanie Juza.
\item[Remark:] This program perform the multiplication of the input field with the mask. It can be easily taken as
first base for a more complex operation on files.
\end{description}
\subsection*{\underline{cdfmsk:}}
\addcontentsline{toc}{subsection}{cdfmsk}
\index{cdfmsk}
\begin{description}
\item[Purpose:] Compute the number of sea grid points from a mask file given on input
\item[Usage:] {\em cdfmsk maskfile}
\item[Input:] ncfile is the name of the mask file to look at.
\item[Required mesh\_mask files or other files:] none, except the mask given as input.
\item[Output:] output is done on standard output.
\item[Associated script:] none
\item[Remark:] The interest of this program is limited; it provides a very stable info for a given config ...
\end{description}
\newpage
\subsection*{\underline{cdfmsksal:}}
\addcontentsline{toc}{subsection}{cdfmsksal}
\index{cdfmsksal}
\begin{description}
\item[Purpose:] Compute a bimg (chart compliant) mask file for the surface of the model, from the salinity field.
\item[Usage:] {\em cdfmsksal gridT\_file}
\item[Input:] any file holding a vosaline field
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Output is done on a bimg file, called tmask.bimg
\item[Associated script:] none
\item[Remark:] The output is specifically dedicated to the chart plotting program. It is usefull for masking ({\it e.g.}
forcing files) on the fly. Purely netcdf/Ferret acros may skip this one !
\end{description}
\subsection*{\underline{cdfmkmask:}}
\addcontentsline{toc}{subsection}{cdfmkmask}
\index{cdfmkmask}
\begin{description}
\item[Purpose:] Compute a full 3D byte\_mask file (tmask, umask, vmask, fmask) from salinity field in input file.
\item[Usage:] {\em cdfmkmask gridT\_file}
\item[Input:] any file holding a vosaline field
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Netcdf file mask\_sal.nc with tmask umask vmask and fmask variables, short integer.
\item[Associated script:] none
\item[Remark:] Caution on fmask that may differ from the one produced online by the code, because of local particular settings.
\end{description}
\subsection*{\underline{cdfmkmask-zone:}}
\addcontentsline{toc}{subsection}{cdfmkmask-zone}
\index{cdfmkmask-zone}
\begin{description}
\item[Purpose:] Compute a full 3D byte\_mask file (tmask, umask, vmask, fmask) from salinity field in input file, limited to a given zone.
\item[Usage:] {\em cdfmkmask gridT\_file lonmin lonmax latmin latmax output\_file}
\item[Input:] gridT is any file holding a vosaline field, lonmin, lonmax, latmin, latmax are the window coordinates where the the mask is build. Outside this window, the mask is set to 0 (as on land).
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Netcdf outputfile whose name is given as arguments, with tmask umask vmask and fmask variables, short integer.
\item[Associated script:] none
\item[Remark:] Caution on fmask that may differ from the one produced online by the code, because of local particular settings.
\end{description}
\newpage
\subsection*{\underline{cdfvita:}}
\addcontentsline{toc}{subsection}{cdfvita}
\index{cdfvita}
\begin{description}
\item[Purpose:] Compute surface velocity components on the A-grid (T-point), from the C-grid opa output. It also computes the
module of the velocity on the A-grid.
\item[Usage:] {\em cdfvita gridU gridV }
\item[Input:] gridU, gridV: files holding the variables vozocrtx and vomecrty on the C-grid
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Output file is vita.nc, with the variables sovitua, sovitva , sovitmod
\item[Associated script:] none
\item[Remark:] This program is practically ready to treat the full 3D case, if necessary
\end{description}
\subsection*{\underline{cdfspeed:}}
\addcontentsline{toc}{subsection}{cdfspeed}
\index{cdfspeed}
\begin{description}
\item[Purpose:] Compute the module of a velocity field
\item[Usage:] {\em cdfspeed gridU gridV varU varV }
\item[Input:] gridU, gridV: files holding the velocity components \\
varU, varV the name of the variables for zonal and meridional components
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Output file is speed.nc, with the variable U.
\item[Associated script:] none
\item[Remark:] This program assume that the velocity components are on the A-grid (tracer points). Which is fine for forcing fields, but not correct
for model output. cdfvita may be used as a pre-processor to translate model velocities on the A-grid.
\end{description}
\newpage
\subsection*{\underline{cdfimprovechk:}}
\addcontentsline{toc}{subsection}{cdfimprovechk}
\index{cdfimprovechk}
\begin{description}
\item[Purpose:] Given a file with gridded 'observed' or 'sea-truth' value ({\it e.g} Levitus files), and a reference model output for the
same quantity as the observation, this program tests a $3^{rd}$ file (model output), giving an estimate of the improvement of the test,
with respect to the reference.
\item[Usage:] {\em cdfimprovechk cdfvariable obs.nc ref.nc test.nc }
\item[Input:] cdfvariable = variable name used for checking. Must be in all 3 files. \\
obs.nc : observation file ('sea truth') \\
ref.nc : reference file ('model base run') \\
test.nc : test file (' model sensitivity experiment')
\item[Required mesh\_mask files or other files:] none.
\item[Output:] chk.nc, same variable (but not same sense!)\\
Better than a long speech, the improvement estimates is given by: \\
$ chk = (reference - test ) / ( reference - observation) \cdot mask $ \\
Where this value is $< 1$ and $ > 0$, the test is better than the reference (with respect to the working variable). Where it is greater
than 1 it indicates a degradation of the test. Where the value is $< 0$, it denotes an over-shoot of the correction. Where the value is $< -1$,
the overshoot gives a worse solution than the reference.
\item[Associated script:] none
\item[Example:] In particular, it was written for the tunning of TKE parameter and impact on the summer mixed layer depth. The observations
files comes from the de Boyer Montaigu climatology; the reference case was with a standard TKE scheme. Different test cases where with the
new improved tke scheme. The results are interesting but not necessarly easy to undestand or interpret.
\end{description}
\newpage
\subsection*{\underline{cdfcsp:}}
\addcontentsline{toc}{subsection}{cdfcsp}
\index{cdfcsp}
\begin{description}
\item[Purpose:] Change missing value to 0.
\item[Usage:] {\em cdfcsp 'list of files' }
\item[Input:] input file are typically files from OPA8.2, with a missing value of 1.e20. It can take multi time-frame files on input.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] CAUTION: The input file is rewritten with the correction on the missing value.
\end{description}
\newpage
\subsection*{\underline{cdfpolymask:}}
\addcontentsline{toc}{subsection}{cdfpolymask}
\index{cdfpolymask}
\begin{description}
\item[Purpose:] Build a mask file (0/1) with polygon shape. Set mask to 1 in the polygon.
\item[Usage:] {\em cdfpolymask 'polygon file' 'reference file' }
\item[Input:] polygon file : This is an ASCII file describing each polygons that are to be used for masking. For each polygon, there
is a corresponding block of lines: \\
-- first line is the name of the polygon (for easy navigation in the file) \\
-- second line gives the number of vertices for the polygon, and a flag set to 1 if the polygon crosses the date line (+/- 180 deg) (0 either). \\
-- next as many lines as vertices with x, y position of each vertex. \\
reference file: a reference netcdf file for headers.
\item[Required mesh\_mask files or other files:] none.
\item[Output:] results is on polymask.nc file, in the polymask variable (2D variable).
\item[Remark:] This cdftools uses a new module called modpoly.f90 which is described in the programmer manual.
\end{description}
\subsection*{\underline{cdfsmooth:}}
\addcontentsline{toc}{subsection}{cdfsmooth}
\index{cdfsmooth}
\begin{description}
\item[Purpose:] Perform a spatial filtering on input file. Various filters are availble (list to be completed), Lanczos, Hanning, shapiro etc ...
\item[Usage:] {\em cdfsmooth 'filename' 'n' [filter type] }
\item[Input:] filename hold the input data. \\
n is the number of grid step to filter. \\
filter type can be either Lanczos (L,l) or Hanning (H, h) or Shapiro (S,s) or Box (B,b)
\item[Required mesh\_mask files or other files:] none.
\item[Output:] Output is done on 'filename'.smooth'n' where smooth is one of L H s B etc ...
\end{description}
\subsection*{\underline{cdfstatcoord:}}
\addcontentsline{toc}{subsection}{cdfstatcoord}
\index{cdfstatcoord}
\begin{description}
\item[Purpose:] Compute statistics about the grid metric versus latitude
\item[Usage:] {\em cdfstatcoord coordinate-file mask [mask variable name] }
\item[Input:] coordinate-file is where horizontal metrics can be found (e1t, e2t) \\
mask is the mask file; the statistics will be computed only for non masked points. \\
mask variable is by default tmask. It can be changed with this option.
\item[Required mesh\_mask files or other files:] given as input.
\item[Output:] Standard output as a zonal mean of e1t e2t, binned by 2 degrees latitude bands.
\end{description}
\newpage
\tableofcontents
\printindex
\end{document}
|