1581
1582
1584
1585
1586
1587 integer, intent(in) :: ng, model
1588
1589 logical, intent(in) :: ldef
1590
1591
1592
1593 integer, parameter :: Natt = 25
1594
1595 logical :: got_var(NV)
1596
1597 integer :: i, j, recdim, stadim
1598 integer :: status
1599
1600 integer :: DimIDs(nDimID), pgrd(2)
1601
1602# ifdef SOLVE3D
1603 integer :: itrc
1604
1605 integer :: bgrd(3), rgrd(3), wgrd(3)
1606# endif
1607
1608 real(r8) :: Aval(6)
1609
1610 character (len=256) :: ncname
1611 character (len=MaxLen) :: Vinfo(Natt)
1612
1613 character (len=*), parameter :: MyFile = &
1614 & __FILE__//", def_station_pio"
1615
1616 sourcefile=myfile
1617
1618
1619
1620
1621
1622 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1623 ncname=sta(ng)%name
1624
1625 IF (master) THEN
1626 IF (ldef) THEN
1627 WRITE (stdout,10) ng, trim(ncname)
1628 ELSE
1629 WRITE (stdout,20) ng, trim(ncname)
1630 END IF
1631 END IF
1632
1633
1634
1635
1636
1637 define : IF (ldef) THEN
1639 IF (founderror(exit_flag, noerror, __line__, myfile)) THEN
1640 IF (master) WRITE (stdout,30) trim(ncname)
1641 RETURN
1642 END IF
1643
1644
1645
1646
1647
1648 dimids=0
1649
1650# ifdef SOLVE3D
1651 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 's_rho', &
1652 & n(ng), dimids( 9))
1653 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1654
1655 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 's_w', &
1656 & n(ng)+1, dimids(10))
1657 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1658
1659 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'tracer', &
1660 & nt(ng), dimids(11))
1661 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1662
1663# ifdef SEDIMENT
1664 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'NST', &
1665 & nst, dimids(32))
1666 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1667
1668 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nbed', &
1669 & nbed, dimids(16))
1670 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1671# endif
1672
1673# ifdef ECOSIM
1674 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nbands', &
1675 & nbands, dimids(33))
1676 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1677
1678 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nphy', &
1679 & nphy, dimids(25))
1680 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1681
1682 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nbac', &
1683 & nbac, dimids(26))
1684 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1685
1686 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Ndom', &
1687 & ndom, dimids(27))
1688 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1689
1690 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nfec', &
1691 & nfec, dimids(28))
1692 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1693# endif
1694# endif
1695
1696 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'station' , &
1697 & nstation(ng), dimids(13))
1698 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1699
1700 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'boundary', &
1701 & 4, dimids(14))
1702 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1703
1704# ifdef FOUR_DVAR
1705 status=def_dim(ng, model, sta(ng)%pioFile, ncname, 'Nstate', &
1706 & nstatevar(ng), dimids(29))
1707 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1708# endif
1709
1710 status=def_dim(ng, model, sta(ng)%pioFile, ncname, &
1711 & trim(adjustl(vname(5,idtime))), &
1712 & pio_unlimited, dimids(12))
1713 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1714
1715 recdim=dimids(12)
1716 stadim=dimids(13)
1717
1718
1719
1720 pgrd(1)=dimids(13)
1721 pgrd(2)=dimids(12)
1722# ifdef SOLVE3D
1723
1724
1725
1726 rgrd(1)=dimids( 9)
1727 rgrd(2)=dimids(13)
1728 rgrd(3)=dimids(12)
1729
1730
1731
1732 wgrd(1)=dimids(10)
1733 wgrd(2)=dimids(13)
1734 wgrd(3)=dimids(12)
1735
1736
1737
1738 bgrd(1)=dimids(16)
1739 bgrd(2)=dimids(13)
1740 bgrd(3)=dimids(12)
1741# endif
1742
1743
1744
1745 sta(ng)%Rindex=0
1746
1747
1748
1749 DO i=1,natt
1750 DO j=1,len(vinfo(1))
1751 vinfo(i)(j:j)=' '
1752 END DO
1753 END DO
1754 DO i=1,6
1755 aval(i)=0.0_r8
1756 END DO
1757
1758
1759
1760
1761
1762 CALL def_info (ng, model, sta(ng)%pioFile, ncname, dimids)
1763 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1764
1765
1766
1767
1768
1769
1770
1771 vinfo( 1)=vname(1,idtime)
1772 vinfo( 2)=vname(2,idtime)
1773 WRITE (vinfo( 3),'(a,a)') 'seconds since ', trim(rclock%string)
1774 vinfo( 4)=trim(rclock%calendar)
1775 vinfo(14)=vname(4,idtime)
1776 sta(ng)%pioVar(idtime)%dkind=
pio_tout
1777 sta(ng)%pioVar(idtime)%gtype=0
1778
1779 status=def_var(ng, model, sta(ng)%pioFile, &
1780 & sta(ng)%pioVar(idtime)%vd, &
1781 &
pio_tout, 1, (/recdim/), aval, vinfo, ncname, &
1782 & setparaccess = .true.)
1783 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1784
1785
1786
1787 IF (sout(idfsur,ng)) THEN
1788 vinfo( 1)=vname(1,idfsur)
1789 vinfo( 2)=vname(2,idfsur)
1790 vinfo( 3)=vname(3,idfsur)
1791 vinfo(14)=vname(4,idfsur)
1792 vinfo(16)=vname(1,idtime)
1793 sta(ng)%pioVar(idfsur)%dkind=
pio_fout
1794 sta(ng)%pioVar(idfsur)%gtype=0
1795
1796 status=def_var(ng, model, sta(ng)%pioFile, &
1797 & sta(ng)%pioVar(idfsur)%vd, &
1798 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
1799# ifdef WET_DRY
1800 & setfillval = .false., &
1801# else
1802 & setfillval = .true., &
1803# endif
1804 & setparaccess = .true.)
1805 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1806 END IF
1807
1808
1809
1810 IF (sout(idubar,ng)) THEN
1811 vinfo( 1)=vname(1,idubar)
1812 vinfo( 2)=vname(2,idubar)
1813 vinfo( 3)=vname(3,idubar)
1814 vinfo(14)=vname(4,idubar)
1815 vinfo(16)=vname(1,idtime)
1816 sta(ng)%pioVar(idubar)%dkind=
pio_fout
1817 sta(ng)%pioVar(idubar)%gtype=0
1818
1819 status=def_var(ng, model, sta(ng)%pioFile, &
1820 & sta(ng)%pioVar(idubar)%vd, &
1821 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
1822 & setfillval = .true., &
1823 & setparaccess = .true.)
1824 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1825 END IF
1826
1827
1828
1829 IF (sout(idvbar,ng)) THEN
1830 vinfo( 1)=vname(1,idvbar)
1831 vinfo( 2)=vname(2,idvbar)
1832 vinfo( 3)=vname(3,idvbar)
1833 vinfo(14)=vname(4,idvbar)
1834 vinfo(16)=vname(1,idtime)
1835 sta(ng)%pioVar(idvbar)%dkind=
pio_fout
1836 sta(ng)%pioVar(idvbar)%gtype=0
1837
1838 status=def_var(ng, model, sta(ng)%pioFile, &
1839 & sta(ng)%pioVar(idvbar)%vd, &
1840 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
1841 & setfillval = .true., &
1842 & setparaccess = .true.)
1843 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1844 END IF
1845
1846
1847
1848 IF (sout(idu2de,ng)) THEN
1849 vinfo( 1)=vname(1,idu2de)
1850 vinfo( 2)=vname(2,idu2de)
1851 vinfo( 3)=vname(3,idu2de)
1852 vinfo(14)=vname(4,idu2de)
1853 vinfo(16)=vname(1,idtime)
1854 sta(ng)%pioVar(idu2de)%dkind=
pio_fout
1855 sta(ng)%pioVar(idu2de)%gtype=0
1856
1857 status=def_var(ng, model, sta(ng)%pioFile, &
1858 & sta(ng)%pioVar(idu2de)%vd, &
1859 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
1860 & setfillval = .true., &
1861 & setparaccess = .true.)
1862 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1863 END IF
1864
1865
1866
1867 IF (sout(idv2dn,ng)) THEN
1868 vinfo( 1)=vname(1,idv2dn)
1869 vinfo( 2)=vname(2,idv2dn)
1870 vinfo( 3)=vname(3,idv2dn)
1871 vinfo(14)=vname(4,idv2dn)
1872 vinfo(16)=vname(1,idtime)
1873 sta(ng)%pioVar(idv2dn)%dkind=
pio_fout
1874 sta(ng)%pioVar(idv2dn)%gtype=0
1875
1876 status=def_var(ng, model, sta(ng)%pioFile, &
1877 & sta(ng)%pioVar(idv2dn)%vd, &
1878 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
1879 & setfillval = .true., &
1880 & setparaccess = .true.)
1881 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1882 END IF
1883
1884# ifdef SOLVE3D
1885
1886
1887
1888 IF (sout(iduvel,ng)) THEN
1889 vinfo( 1)=vname(1,iduvel)
1890 vinfo( 2)=vname(2,iduvel)
1891 vinfo( 3)=vname(3,iduvel)
1892 vinfo(14)=vname(4,iduvel)
1893 vinfo(16)=vname(1,idtime)
1894 sta(ng)%pioVar(iduvel)%dkind=
pio_fout
1895 sta(ng)%pioVar(iduvel)%gtype=0
1896
1897 status=def_var(ng, model, sta(ng)%pioFile, &
1898 & sta(ng)%pioVar(iduvel)%vd, &
1899 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
1900 & setfillval = .true., &
1901 & setparaccess = .true.)
1902 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1903 END IF
1904
1905
1906
1907 IF (sout(idvvel,ng)) THEN
1908 vinfo( 1)=vname(1,idvvel)
1909 vinfo( 2)=vname(2,idvvel)
1910 vinfo( 3)=vname(3,idvvel)
1911 vinfo(14)=vname(4,idvvel)
1912 vinfo(16)=vname(1,idtime)
1913 sta(ng)%pioVar(idvvel)%dkind=
pio_fout
1914 sta(ng)%pioVar(idvvel)%gtype=0
1915
1916 status=def_var(ng, model, sta(ng)%pioFile, &
1917 & sta(ng)%pioVar(idvvel)%vd, &
1918 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
1919 & setfillval = .true., &
1920 & setparaccess = .true.)
1921 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1922 END IF
1923
1924
1925
1926 IF (sout(idu3de,ng)) THEN
1927 vinfo( 1)=vname(1,idu3de)
1928 vinfo( 2)=vname(2,idu3de)
1929 vinfo( 3)=vname(3,idu3de)
1930 vinfo(14)=vname(4,idu3de)
1931 vinfo(16)=vname(1,idtime)
1932 sta(ng)%pioVar(idu3de)%dkind=
pio_fout
1933 sta(ng)%pioVar(idu3de)%gtype=0
1934
1935 status=def_var(ng, model, sta(ng)%pioFile, &
1936 & sta(ng)%pioVar(idu3de)%vd, &
1937 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
1938 & setfillval = .true., &
1939 & setparaccess = .true.)
1940 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1941 END IF
1942
1943
1944
1945 IF (sout(idv3dn,ng)) THEN
1946 vinfo( 1)=vname(1,idv3dn)
1947 vinfo( 2)=vname(2,idv3dn)
1948 vinfo( 3)=vname(3,idv3dn)
1949 vinfo(14)=vname(4,idv3dn)
1950 vinfo(16)=vname(1,idtime)
1951 sta(ng)%pioVar(idv3dn)%dkind=
pio_fout
1952 sta(ng)%pioVar(idv3dn)%gtype=0
1953
1954 status=def_var(ng, model, sta(ng)%pioFile, &
1955 & sta(ng)%pioVar(idv3dn)%vd, &
1956 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
1957 & setfillval = .true., &
1958 & setparaccess = .true.)
1959 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1960 END IF
1961
1962
1963
1964 IF (sout(idwvel,ng)) THEN
1965 vinfo( 1)=vname(1,idwvel)
1966 vinfo( 2)=vname(2,idwvel)
1967 vinfo( 3)=vname(3,idwvel)
1968 vinfo(14)=vname(4,idwvel)
1969 vinfo(16)=vname(1,idtime)
1970 sta(ng)%pioVar(idwvel)%dkind=
pio_fout
1971 sta(ng)%pioVar(idwvel)%gtype=0
1972
1973 status=def_var(ng, model, sta(ng)%pioFile, &
1974 & sta(ng)%pioVar(idwvel)%vd, &
1975 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
1976 & setfillval = .true., &
1977 & setparaccess = .true.)
1978 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1979 END IF
1980
1981
1982
1983 IF (sout(idovel,ng)) THEN
1984 vinfo( 1)=vname(1,idovel)
1985 vinfo( 2)=vname(2,idovel)
1986 vinfo( 3)='meter3 second-1'
1987 vinfo(14)=vname(4,idovel)
1988 vinfo(16)=vname(1,idtime)
1989 sta(ng)%pioVar(idovel)%dkind=
pio_fout
1990 sta(ng)%pioVar(idovel)%gtype=0
1991
1992 status=def_var(ng, model, sta(ng)%pioFile, &
1993 & sta(ng)%pioVar(idovel)%vd, &
1994 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
1995 & setfillval = .true., &
1996 & setparaccess = .true.)
1997 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
1998 END IF
1999
2000
2001
2002 DO itrc=1,nt(ng)
2003 IF (sout(idtvar(itrc),ng)) THEN
2004 vinfo( 1)=vname(1,idtvar(itrc))
2005 vinfo( 2)=vname(2,idtvar(itrc))
2006 vinfo( 3)=vname(3,idtvar(itrc))
2007 vinfo(14)=vname(4,idtvar(itrc))
2008 vinfo(16)=vname(1,idtime)
2009 sta(ng)%pioTrc(itrc)%dkind=
pio_fout
2010 sta(ng)%pioTrc(itrc)%gtype=0
2011
2012# ifdef SEDIMENT
2013 DO i=1,nst
2014 IF (itrc.eq.idsed(i)) THEN
2015 WRITE (vinfo(19),40) 1000.0_r8*sd50(i,ng)
2016 END IF
2017 END DO
2018# endif
2019
2020 status=def_var(ng, model, sta(ng)%pioFile, &
2021 & sta(ng)%pioTrc(itrc)%vd, &
2022 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
2023 & setfillval = .true., &
2024 & setparaccess = .true.)
2025 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2026 END IF
2027 END DO
2028
2029
2030
2031 IF (sout(iddano,ng)) THEN
2032 vinfo( 1)=vname(1,iddano)
2033 vinfo( 2)=vname(2,iddano)
2034 vinfo( 3)=vname(3,iddano)
2035 vinfo(14)=vname(4,iddano)
2036 vinfo(16)=vname(1,idtime)
2037 sta(ng)%pioVar(iddano)%dkind=
pio_fout
2038 sta(ng)%pioVar(iddano)%gtype=0
2039
2040 status=def_var(ng, model, sta(ng)%pioFile, &
2041 & sta(ng)%pioVar(iddano)%vd, &
2042 &
pio_fout, 3, rgrd, aval, vinfo, ncname, &
2043 & setfillval = .true., &
2044 & setparaccess = .true.)
2045 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2046 END IF
2047
2048# ifdef LMD_SKPP
2049
2050
2051
2052 IF (sout(idhsbl,ng)) THEN
2053 vinfo( 1)=vname(1,idhsbl)
2054 vinfo( 2)=vname(2,idhsbl)
2055 vinfo( 3)=vname(3,idhsbl)
2056 vinfo(14)=vname(4,idhsbl)
2057 vinfo(16)=vname(1,idtime)
2058 sta(ng)%pioVar(idhsbl)%dkind=
pio_fout
2059 sta(ng)%pioVar(idhsbl)%gtype=0
2060
2061 status=def_var(ng, model, sta(ng)%pioFile, &
2062 & sta(ng)%pioVar(idhsbl)%vd, &
2063 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2064 & setfillval = .true., &
2065 & setparaccess = .true.)
2066 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2067 END IF
2068# endif
2069# ifdef LMD_BKPP
2070
2071
2072
2073 IF (sout(idhbbl,ng)) THEN
2074 vinfo( 1)=vname(1,idhbbl)
2075 vinfo( 2)=vname(2,idhbbl)
2076 vinfo( 3)=vname(3,idhbbl)
2077 vinfo(14)=vname(4,idhbbl)
2078 vinfo(16)=vname(1,idtime)
2079 sta(ng)%pioVar(idhbbl)%dkind=
pio_fout
2080 sta(ng)%pioVar(idhbbl)%gtype=0
2081
2082 status=def_var(ng, model, sta(ng)%pioFile, &
2083 & sta(ng)%pioVar(idhbbl)%vd, &
2084 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2085 & setfillval = .true., &
2086 & setparaccess = .true.)
2087 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2088 END IF
2089# endif
2090
2091
2092
2093 IF (sout(idvvis,ng)) THEN
2094 vinfo( 1)=vname(1,idvvis)
2095 vinfo( 2)=vname(2,idvvis)
2096 vinfo( 3)=vname(3,idvvis)
2097 vinfo(14)=vname(4,idvvis)
2098 vinfo(16)=vname(1,idtime)
2099 sta(ng)%pioVar(idvvis)%dkind=
pio_fout
2100 sta(ng)%pioVar(idvvis)%gtype=0
2101
2102 status=def_var(ng, model, sta(ng)%pioFile, &
2103 & sta(ng)%pioVar(idvvis)%vd, &
2104 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
2105 & setfillval = .true., &
2106 & setparaccess = .true.)
2107 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2108 END IF
2109
2110
2111
2112 IF (sout(idtdif,ng)) THEN
2113 vinfo( 1)=vname(1,idtdif)
2114 vinfo( 2)=vname(2,idtdif)
2115 vinfo( 3)=vname(3,idtdif)
2116 vinfo(14)=vname(4,idtdif)
2117 vinfo(16)=vname(1,idtime)
2118 sta(ng)%pioVar(idtdif)%dkind=
pio_fout
2119 sta(ng)%pioVar(idtdif)%gtype=0
2120
2121 status=def_var(ng, model, sta(ng)%pioFile, &
2122 & sta(ng)%pioVar(idtdif)%vd, &
2123 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
2124 & setfillval = .true., &
2125 & setparaccess = .true.)
2126 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2127 END IF
2128
2129# ifdef SALINITY
2130
2131
2132
2133 IF (sout(idsdif,ng)) THEN
2134 vinfo( 1)=vname(1,idsdif)
2135 vinfo( 2)=vname(2,idsdif)
2136 vinfo( 3)=vname(3,idsdif)
2137 vinfo(14)=vname(4,idsdif)
2138 vinfo(16)=vname(1,idtime)
2139 sta(ng)%pioVar(idsdif)%dkind=
pio_fout
2140 sta(ng)%pioVar(idsdif)%gtype=0
2141
2142 status=def_var(ng, model, sta(ng)%pioFile, &
2143 & sta(ng)%pioVar(idsdif)%vd, &
2144 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
2145 & setfillval = .true., &
2146 & setparaccess = .true.)
2147 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2148 END IF
2149# endif
2150# if defined GLS_MIXING || defined MY25_MIXING
2151
2152
2153
2154 IF (sout(idmtke,ng)) THEN
2155 vinfo( 1)=vname(1,idmtke)
2156 vinfo( 2)=vname(2,idmtke)
2157 vinfo( 3)=vname(3,idmtke)
2158 vinfo(14)=vname(4,idmtke)
2159 vinfo(16)=vname(1,idtime)
2160 sta(ng)%pioVar(idmtke)%dkind=
pio_fout
2161 sta(ng)%pioVar(idmtke)%gtype=0
2162
2163 status=def_var(ng, model, sta(ng)%pioFile, &
2164 & sta(ng)%pioVar(idmtke)%vd, &
2165 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
2166 & setfillval = .true., &
2167 & setparaccess = .true.)
2168 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2169 END IF
2170
2171
2172
2173 IF (sout(idmtls,ng)) THEN
2174 vinfo( 1)=vname(1,idmtls)
2175 vinfo( 2)=vname(2,idmtls)
2176 vinfo( 3)=vname(3,idmtls)
2177 vinfo(14)=vname(4,idmtls)
2178 vinfo(16)=vname(1,idtime)
2179 sta(ng)%pioVar(idmtls)%dkind=
pio_fout
2180 sta(ng)%pioVar(idmtls)%gtype=0
2181
2182 status=def_var(ng, model, sta(ng)%pioFile, &
2183 & sta(ng)%pioVar(idmtls)%vd, &
2184 &
pio_fout, 3, wgrd, aval, vinfo, ncname, &
2185 & setfillval = .true., &
2186 & setparaccess = .true.)
2187 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2188 END IF
2189# endif
2190# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
2191
2192
2193
2194 IF (sout(idpair,ng)) THEN
2195 vinfo( 1)=vname(1,idpair)
2196 vinfo( 2)=vname(2,idpair)
2197 vinfo( 3)=vname(3,idpair)
2198 vinfo(14)=vname(4,idpair)
2199 vinfo(16)=vname(1,idtime)
2200 sta(ng)%pioVar(idpair)%dkind=
pio_fout
2201 sta(ng)%pioVar(idpair)%gtype=0
2202
2203 status=def_var(ng, model, sta(ng)%pioFile, &
2204 & sta(ng)%pioVar(idpair)%vd, &
2205 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2206 & setfillval = .true., &
2207 & setparaccess = .true.)
2208 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2209 END IF
2210# endif
2211# if defined BULK_FLUXES || defined ECOSIM
2212
2213
2214
2215 IF (sout(iduair,ng)) THEN
2216 vinfo( 1)=vname(1,iduair)
2217 vinfo( 2)=vname(2,iduair)
2218 vinfo( 3)=vname(3,iduair)
2219 vinfo(14)=vname(4,iduair)
2220 vinfo(16)=vname(1,idtime)
2221 sta(ng)%pioVar(iduair)%dkind=
pio_fout
2222 sta(ng)%pioVar(iduair)%gtype=0
2223
2224 status=def_var(ng, model, sta(ng)%pioFile, &
2225 & sta(ng)%pioVar(iduair)%vd, &
2226 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2227 & setfillval = .true., &
2228 & setparaccess = .true.)
2229 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2230 END IF
2231
2232 IF (sout(idvair,ng)) THEN
2233 vinfo( 1)=vname(1,idvair)
2234 vinfo( 2)=vname(2,idvair)
2235 vinfo( 3)=vname(3,idvair)
2236 vinfo(14)=vname(4,idvair)
2237 vinfo(16)=vname(1,idtime)
2238 sta(ng)%pioVar(idvair)%dkind=
pio_fout
2239 sta(ng)%pioVar(idvair)%gtype=0
2240
2241 status=def_var(ng, model, sta(ng)%pioFile, &
2242 & sta(ng)%pioVar(idvair)%vd, &
2243 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2244 & setfillval = .true., &
2245 & setparaccess = .true.)
2246 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2247 END IF
2248# endif
2249
2250
2251
2252 IF (sout(idtsur(itemp),ng)) THEN
2253 vinfo( 1)=vname(1,idtsur(itemp))
2254 vinfo( 2)=vname(2,idtsur(itemp))
2255 vinfo( 3)=vname(3,idtsur(itemp))
2256 vinfo(11)='upward flux, cooling'
2257 vinfo(12)='downward flux, heating'
2258 vinfo(14)=vname(4,idtsur(itemp))
2259 vinfo(16)=vname(1,idtime)
2260 sta(ng)%pioVar(idtsur(itemp))%dkind=
pio_fout
2261 sta(ng)%pioVar(idtsur(itemp))%gtype=0
2262
2263 status=def_var(ng, model, sta(ng)%pioFile, &
2264 & sta(ng)%pioVar(idtsur(itemp))%vd, &
2265 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2266 & setfillval = .true., &
2267 & setparaccess = .true.)
2268 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2269 END IF
2270
2271# ifdef SALINITY
2272
2273
2274
2275 IF (sout(idtsur(isalt),ng)) THEN
2276 vinfo( 1)=vname(1,idtsur(isalt))
2277 vinfo( 2)=vname(2,idtsur(isalt))
2278 vinfo( 3)=vname(3,idtsur(isalt))
2279 vinfo(11)='upward flux, freshening (net precipitation)'
2280 vinfo(12)='downward flux, salting (net evaporation)'
2281 vinfo(14)=vname(4,idtsur(isalt))
2282 vinfo(16)=vname(1,idtime)
2283 sta(ng)%pioVar(idtsur(isalt))%dkind=
pio_fout
2284 sta(ng)%pioVar(idtsur(isalt))%gtype=0
2285
2286 status=def_var(ng, model, sta(ng)%pioFile, &
2287 & sta(ng)%pioVar(idtsur(isalt))%vd, &
2288 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2289 & setfillval = .true., &
2290 & setparaccess = .true.)
2291 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2292 END IF
2293# endif
2294
2295# ifdef BULK_FLUXES
2296
2297
2298
2299 IF (sout(idlhea,ng)) THEN
2300 vinfo( 1)=vname(1,idlhea)
2301 vinfo( 2)=vname(2,idlhea)
2302 vinfo( 3)=vname(3,idlhea)
2303 vinfo(11)='upward flux, cooling'
2304 vinfo(12)='downward flux, heating'
2305 vinfo(14)=vname(4,idlhea)
2306 vinfo(16)=vname(1,idtime)
2307 sta(ng)%pioVar(idlhea)%dkind=
pio_fout
2308 sta(ng)%pioVar(idlhea)%gtype=0
2309
2310 status=def_var(ng, model, sta(ng)%pioFile, &
2311 & sta(ng)%pioVar(idlhea)%vd, &
2312 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2313 & setfillval = .true., &
2314 & setparaccess = .true.)
2315 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2316 END IF
2317
2318
2319
2320 IF (sout(idshea,ng)) THEN
2321 vinfo( 1)=vname(1,idshea)
2322 vinfo( 2)=vname(2,idshea)
2323 vinfo( 3)=vname(3,idshea)
2324 vinfo(11)='upward flux, cooling'
2325 vinfo(12)='downward flux, heating'
2326 vinfo(14)=vname(4,idshea)
2327 vinfo(16)=vname(1,idtime)
2328 sta(ng)%pioVar(idshea)%dkind=
pio_fout
2329 sta(ng)%pioVar(idshea)%gtype=0
2330
2331 status=def_var(ng, model, sta(ng)%pioFile, &
2332 & sta(ng)%pioVar(idshea)%vd, &
2333 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2334 & setfillval = .true., &
2335 & setparaccess = .true.)
2336 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2337 END IF
2338
2339
2340
2341 IF (sout(idlrad,ng)) THEN
2342 vinfo( 1)=vname(1,idlrad)
2343 vinfo( 2)=vname(2,idlrad)
2344 vinfo( 3)=vname(3,idlrad)
2345 vinfo(11)='upward flux, cooling'
2346 vinfo(12)='downward flux, heating'
2347 vinfo(14)=vname(4,idlrad)
2348 vinfo(16)=vname(1,idtime)
2349 sta(ng)%pioVar(idlrad)%dkind=
pio_fout
2350 sta(ng)%pioVar(idlrad)%gtype=0
2351
2352 status=def_var(ng, model, sta(ng)%pioFile, &
2353 & sta(ng)%pioVar(idlrad)%vd, &
2354 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2355 & setfillval = .true., &
2356 & setparaccess = .true.)
2357 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2358 END IF
2359# endif
2360# ifdef SHORTWAVE
2361
2362
2363
2364 IF (sout(idsrad,ng)) THEN
2365 vinfo( 1)=vname(1,idsrad)
2366 vinfo( 2)=vname(2,idsrad)
2367 vinfo( 3)=vname(3,idsrad)
2368 vinfo(11)='upward flux, cooling'
2369 vinfo(12)='downward flux, heating'
2370 vinfo(14)=vname(4,idsrad)
2371 vinfo(16)=vname(1,idtime)
2372 sta(ng)%pioVar(idsrad)%dkind=
pio_fout
2373 sta(ng)%pioVar(idsrad)%gtype=0
2374
2375 status=def_var(ng, model, sta(ng)%pioFile, &
2376 & sta(ng)%pioVar(idsrad)%vd, &
2377 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2378 & setfillval = .true., &
2379 & setparaccess = .true.)
2380 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2381 END IF
2382# endif
2383
2384
2385
2386 IF (sout(idempf,ng)) THEN
2387 vinfo( 1)=vname(1,idempf)
2388 vinfo( 2)=vname(2,idempf)
2389 vinfo( 3)=vname(3,idempf)
2390 vinfo(11)='upward flux, freshening (net precipitation)'
2391 vinfo(12)='downward flux, salting (net evaporation)'
2392 vinfo(14)=vname(4,idempf)
2393 vinfo(16)=vname(1,idtime)
2394 sta(ng)%pioVar(idempf)%dkind=
pio_fout
2395 sta(ng)%pioVar(idempf)%gtype=0
2396
2397 status=def_var(ng, model, sta(ng)%pioFile, &
2398 & sta(ng)%pioVar(idempf)%vd, &
2399 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2400 & setfillval = .true., &
2401 & setparaccess = .true.)
2402 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2403 END IF
2404# if defined EMINUSP && defined BULK_FLUXES
2405
2406
2407
2408 IF (sout(idevap,ng)) THEN
2409 vinfo( 1)=vname(1,idevap)
2410 vinfo( 2)=vname(2,idevap)
2411 vinfo( 3)=vname(3,idevap)
2412 vinfo(11)='downward flux, freshening (condensation)'
2413 vinfo(12)='upward flux, salting (evaporation)'
2414 vinfo(14)=vname(4,idevap)
2415 vinfo(16)=vname(1,idtime)
2416 sta(ng)%pioVar(idevap)%dkind=
pio_fout
2417 sta(ng)%pioVar(idevap)%gtype=0
2418
2419 status=def_var(ng, model, sta(ng)%pioFile, &
2420 & sta(ng)%pioVar(idevap)%vd, &
2421 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2422 & setfillval = .true., &
2423 & setparaccess = .true.)
2424 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2425 END IF
2426
2427
2428
2429 IF (sout(idrain,ng)) THEN
2430 vinfo( 1)=vname(1,idrain)
2431 vinfo( 2)=vname(2,idrain)
2432 vinfo( 3)=vname(3,idrain)
2433 vinfo(11)='upward flux, salting (NOT POSSIBLE)'
2434 vinfo(12)='downward flux, freshening (precipitation)'
2435 vinfo(14)=vname(4,idrain)
2436 vinfo(16)=vname(1,idtime)
2437 sta(ng)%pioVar(idrain)%dkind=
pio_fout
2438 sta(ng)%pioVar(idrain)%gtype=0
2439
2440 status=def_var(ng, model, sta(ng)%pioFile, &
2441 & sta(ng)%pioVar(idrain)%vd, &
2442 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2443 & setfillval = .true., &
2444 & setparaccess = .true.)
2445 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2446 END IF
2447# endif
2448# endif
2449
2450
2451
2452 IF (sout(idusms,ng)) THEN
2453 vinfo( 1)=vname(1,idusms)
2454 vinfo( 2)=vname(2,idusms)
2455 vinfo( 3)=vname(3,idusms)
2456 vinfo(14)=vname(4,idusms)
2457 vinfo(16)=vname(1,idtime)
2458 sta(ng)%pioVar(idusms)%dkind=
pio_fout
2459 sta(ng)%pioVar(idusms)%gtype=0
2460
2461 status=def_var(ng, model, sta(ng)%pioFile, &
2462 & sta(ng)%pioVar(idusms)%vd, &
2463 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2464 & setfillval = .true., &
2465 & setparaccess = .true.)
2466 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2467 END IF
2468
2469
2470
2471 IF (sout(idvsms,ng)) THEN
2472 vinfo( 1)=vname(1,idvsms)
2473 vinfo( 2)=vname(2,idvsms)
2474 vinfo( 3)=vname(3,idvsms)
2475 vinfo(14)=vname(4,idvsms)
2476 vinfo(16)=vname(1,idtime)
2477 sta(ng)%pioVar(idvsms)%dkind=
pio_fout
2478 sta(ng)%pioVar(idvsms)%gtype=0
2479
2480 status=def_var(ng, model, sta(ng)%pioFile, &
2481 & sta(ng)%pioVar(idvsms)%vd, &
2482 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2483 & setfillval = .true., &
2484 & setparaccess = .true.)
2485 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2486 END IF
2487
2488
2489
2490 IF (sout(idubms,ng)) THEN
2491 vinfo( 1)=vname(1,idubms)
2492 vinfo( 2)=vname(2,idubms)
2493 vinfo( 3)=vname(3,idubms)
2494 vinfo(14)=vname(4,idubms)
2495 vinfo(16)=vname(1,idtime)
2496 sta(ng)%pioVar(idubms)%dkind=
pio_fout
2497 sta(ng)%pioVar(idubms)%gtype=0
2498
2499 status=def_var(ng, model, sta(ng)%pioFile, &
2500 & sta(ng)%pioVar(idubms)%vd, &
2501 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2502 & setfillval = .true., &
2503 & setparaccess = .true.)
2504 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2505 END IF
2506
2507
2508
2509 IF (sout(idvbms,ng)) THEN
2510 vinfo( 1)=vname(1,idvbms)
2511 vinfo( 2)=vname(2,idvbms)
2512 vinfo( 3)=vname(3,idvbms)
2513 vinfo(14)=vname(4,idvbms)
2514 vinfo(16)=vname(1,idtime)
2515 sta(ng)%pioVar(idvbms)%dkind=
pio_fout
2516 sta(ng)%pioVar(idvbms)%gtype=0
2517
2518 status=def_var(ng, model, sta(ng)%pioFile, &
2519 & sta(ng)%pioVar(idvbms)%vd, &
2520 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2521 & setfillval = .true., &
2522 & setparaccess = .true.)
2523 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2524 END IF
2525
2526# ifdef WET_DRY
2527
2528
2529
2530 IF (sout(idrwet,ng)) THEN
2531 vinfo( 1)=vname(1,idrwet)
2532 vinfo( 2)=vname(2,idrwet)
2533 vinfo( 3)=vname(3,idrwet)
2534 vinfo(14)=vname(4,idrwet)
2535 vinfo(16)=vname(1,idtime)
2536 sta(ng)%pioVar(idrwet)%dkind=
pio_fout
2537 sta(ng)%pioVar(idrwet)%gtype=0
2538
2539 status=def_var(ng, model, sta(ng)%pioFile, &
2540 & sta(ng)%pioVar(idrwet)%vd, &
2541 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2542 & setfillval = .true., &
2543 & setparaccess = .true.)
2544 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2545 END IF
2546
2547
2548
2549 IF (sout(iduwet,ng)) THEN
2550 vinfo( 1)=vname(1,iduwet)
2551 vinfo( 2)=vname(2,iduwet)
2552 vinfo( 3)=vname(3,iduwet)
2553 vinfo(14)=vname(4,iduwet)
2554 vinfo(16)=vname(1,idtime)
2555 sta(ng)%pioVar(iduwet)%dkind=
pio_fout
2556 sta(ng)%pioVar(iduwet)%gtype=0
2557
2558 status=def_var(ng, model, sta(ng)%pioFile, &
2559 & sta(ng)%pioVar(iduwet)%vd, &
2560 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2561 & setfillval = .true., &
2562 & setparaccess = .true.)
2563 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2564 END IF
2565
2566
2567
2568 IF (sout(iduwet,ng)) THEN
2569 vinfo( 1)=vname(1,idvwet)
2570 vinfo( 2)=vname(2,idvwet)
2571 vinfo( 3)=vname(3,idvwet)
2572 vinfo(14)=vname(4,idvwet)
2573 vinfo(16)=vname(1,idtime)
2574 sta(ng)%pioVar(idvwet)%dkind=
pio_fout
2575 sta(ng)%pioVar(idvwet)%gtype=0
2576
2577 status=def_var(ng, model, sta(ng)%pioFile, &
2578 & sta(ng)%pioVar(idvwet)%vd, &
2579 &
pio_fout, 2, pgrd, aval, vinfo, ncname, &
2580 & setfillval = .true., &
2581 & setparaccess = .true.)
2582 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2583 END IF
2584# endif
2585
2586# if defined BBL_MODEL || defined WAVES_OUTPUT
2587
2588
2589
2590
2591
2592 CALL bbl_def_station_pio (ng, model, ldef, sout, sta, &
2593 & pgrd, rgrd)
2594 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2595# endif
2596
2597# ifdef ICE_MODEL
2598
2599
2600
2601
2602
2603 CALL ice_def_station_pio (ng, model, ldef, sout, sta, &
2604 & pgrd)
2605 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2606# endif
2607
2608# ifdef SEDIMENT
2609
2610
2611
2612
2613
2614 CALL sediment_def_station_pio (ng, model, ldef, sout, sta, &
2615 & bgrd, pgrd, rgrd)
2616 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2617# endif
2618
2619# if defined WEC || defined WEC_VF
2620
2621
2622
2623
2624
2625 CALL wec_def_station_pio (ng, model, ldef, sout, sta, &
2626 & pgrd, rgrd)
2627 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2628# endif
2629
2630
2631
2632
2633
2635 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2636
2637
2638
2639
2640
2641 CALL wrt_info (ng, model, sta(ng)%pioFile, ncname)
2642 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2643
2644 END IF define
2645
2646
2647
2648
2649
2650
2651 query : IF (.not.ldef) THEN
2652 ncname=sta(ng)%name
2653
2654
2655
2657 IF (founderror(exit_flag, noerror, __line__, myfile)) THEN
2658 WRITE (stdout,50) trim(ncname)
2659 RETURN
2660 END IF
2661
2662
2663
2665 & piofile = sta(ng)%pioFile)
2666 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2667
2668
2669
2671 & piofile = sta(ng)%pioFile)
2672 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
2673
2674
2675
2676 DO i=1,nv
2677 got_var(i)=.false.
2678 END DO
2679
2680
2681
2682
2683 DO i=1,n_var
2684 IF (trim(var_name(i)).eq.trim(vname(1,idtime))) THEN
2685 got_var(idtime)=.true.
2686 sta(ng)%pioVar(idtime)%vd=
var_desc(i)
2687 sta(ng)%pioVar(idtime)%dkind=
pio_tout
2688 sta(ng)%pioVar(idtime)%gtype=0
2689 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idfsur))) THEN
2690 got_var(idfsur)=.true.
2691 sta(ng)%pioVar(idfsur)%vd=
var_desc(i)
2692 sta(ng)%pioVar(idfsur)%dkind=
pio_fout
2693 sta(ng)%pioVar(idfsur)%gtype=0
2694 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubar))) THEN
2695 got_var(idubar)=.true.
2696 sta(ng)%pioVar(idubar)%vd=
var_desc(i)
2697 sta(ng)%pioVar(idubar)%dkind=
pio_fout
2698 sta(ng)%pioVar(idubar)%gtype=0
2699 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbar))) THEN
2700 got_var(idvbar)=.true.
2701 sta(ng)%pioVar(idvbar)%vd=
var_desc(i)
2702 sta(ng)%pioVar(idvbar)%dkind=
pio_fout
2703 sta(ng)%pioVar(idvbar)%gtype=0
2704 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idu2de))) THEN
2705 got_var(idu2de)=.true.
2706 sta(ng)%pioVar(idu2de)%vd=
var_desc(i)
2707 sta(ng)%pioVar(idu2de)%dkind=
pio_fout
2708 sta(ng)%pioVar(idu2de)%gtype=0
2709 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idv2dn))) THEN
2710 got_var(idv2dn)=.true.
2711 sta(ng)%pioVar(idv2dn)%vd=
var_desc(i)
2712 sta(ng)%pioVar(idv2dn)%dkind=
pio_fout
2713 sta(ng)%pioVar(idv2dn)%gtype=0
2714# ifdef SOLVE3D
2715 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iduvel))) THEN
2716 got_var(iduvel)=.true.
2717 sta(ng)%pioVar(iduvel)%vd=
var_desc(i)
2718 sta(ng)%pioVar(iduvel)%dkind=
pio_fout
2719 sta(ng)%pioVar(iduvel)%gtype=0
2720 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvvel))) THEN
2721 got_var(idvvel)=.true.
2722 sta(ng)%pioVar(idvvel)%vd=
var_desc(i)
2723 sta(ng)%pioVar(idvvel)%dkind=
pio_fout
2724 sta(ng)%pioVar(idvvel)%gtype=0
2725 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idu3de))) THEN
2726 got_var(idu3de)=.true.
2727 sta(ng)%pioVar(idu3de)%vd=
var_desc(i)
2728 sta(ng)%pioVar(idu3de)%dkind=
pio_fout
2729 sta(ng)%pioVar(idu3de)%gtype=0
2730 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idv3dn))) THEN
2731 got_var(idv3dn)=.true.
2732 sta(ng)%pioVar(idv3dn)%vd=
var_desc(i)
2733 sta(ng)%pioVar(idv3dn)%dkind=
pio_fout
2734 sta(ng)%pioVar(idv3dn)%gtype=0
2735 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwvel))) THEN
2736 got_var(idwvel)=.true.
2737 sta(ng)%pioVar(idwvel)%vd=
var_desc(i)
2738 sta(ng)%pioVar(idwvel)%dkind=
pio_fout
2739 sta(ng)%pioVar(idwvel)%gtype=0
2740 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idovel))) THEN
2741 got_var(idovel)=.true.
2742 sta(ng)%pioVar(idovel)%vd=
var_desc(i)
2743 sta(ng)%pioVar(idovel)%dkind=
pio_fout
2744 sta(ng)%pioVar(idovel)%gtype=0
2745 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iddano))) THEN
2746 got_var(iddano)=.true.
2747 sta(ng)%pioVar(iddano)%vd=
var_desc(i)
2748 sta(ng)%pioVar(iddano)%dkind=
pio_fout
2749 sta(ng)%pioVar(iddano)%gtype=0
2750# ifdef LMD_SKPP
2751 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idhsbl))) THEN
2752 got_var(idhsbl)=.true.
2753 sta(ng)%pioVar(idhsbl)%vd=
var_desc(i)
2754 sta(ng)%pioVar(idhsbl)%dkind=
pio_fout
2755 sta(ng)%pioVar(idhsbl)%gtype=0
2756# endif
2757# ifdef LMD_BKPP
2758 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idhbbl))) THEN
2759 got_var(idhbbl)=.true.
2760 sta(ng)%pioVar(idhbbl)%vd=
var_desc(i)
2761 sta(ng)%pioVar(idhbbl)%dkind=
pio_fout
2762 sta(ng)%pioVar(idhbbl)%gtype=0
2763# endif
2764 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvvis))) THEN
2765 got_var(idvvis)=.true.
2766 sta(ng)%pioVar(idvvis)%vd=
var_desc(i)
2767 sta(ng)%pioVar(idvvis)%dkind=
pio_fout
2768 sta(ng)%pioVar(idvvis)%gtype=0
2769 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idtdif))) THEN
2770 got_var(idtdif)=.true.
2771 sta(ng)%pioVar(idtdif)%vd=
var_desc(i)
2772 sta(ng)%pioVar(idtdif)%dkind=
pio_fout
2773 sta(ng)%pioVar(idtdif)%gtype=0
2774 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idsdif))) THEN
2775 got_var(idsdif)=.true.
2776 sta(ng)%pioVar(idsdif)%vd=
var_desc(i)
2777 sta(ng)%pioVar(idsdif)%dkind=
pio_fout
2778 sta(ng)%pioVar(idsdif)%gtype=0
2779# if defined GLS_MIXING || defined MY25_MIXING
2780 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idmtke))) THEN
2781 got_var(idmtke)=.true.
2782 sta(ng)%pioVar(idmtke)%vd=
var_desc(i)
2783 sta(ng)%pioVar(idmtke)%dkind=
pio_fout
2784 sta(ng)%pioVar(idmtke)%gtype=0
2785 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idmtls))) THEN
2786 got_var(idmtls)=.true.
2787 sta(ng)%pioVar(idmtls)%vd=
var_desc(i)
2788 sta(ng)%pioVar(idmtls)%dkind=
pio_fout
2789 sta(ng)%pioVar(idmtls)%gtype=0
2790# endif
2791# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
2792 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idpair))) THEN
2793 got_var(idpair)=.true.
2794 sta(ng)%pioVar(idpair)%vd=
var_desc(i)
2795 sta(ng)%pioVar(idpair)%dkind=
pio_fout
2796 sta(ng)%pioVar(idpair)%gtype=0
2797# endif
2798# if defined BULK_FLUXES || defined ECOSIM
2799 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iduair))) THEN
2800 got_var(iduair)=.true.
2801 sta(ng)%pioVar(iduair)%vd=
var_desc(i)
2802 sta(ng)%pioVar(iduair)%dkind=
pio_fout
2803 sta(ng)%pioVar(iduair)%gtype=0
2804 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvair))) THEN
2805 got_var(idvair)=.true.
2806 sta(ng)%pioVar(idvair)%vd=
var_desc(i)
2807 sta(ng)%pioVar(idvair)%dkind=
pio_fout
2808 sta(ng)%pioVar(idvair)%gtype=0
2809# endif
2810 ELSE IF (trim(var_name(i)).eq. &
2811 & trim(vname(1,idtsur(itemp)))) THEN
2812 got_var(idtsur(itemp))=.true.
2813 sta(ng)%pioVar(idtsur(itemp))%vd=
var_desc(i)
2814 sta(ng)%pioVar(idtsur(itemp))%dkind=
pio_fout
2815 sta(ng)%pioVar(idtsur(itemp))%gtype=0
2816 ELSE IF (trim(var_name(i)).eq. &
2817 & trim(vname(1,idtsur(isalt)))) THEN
2818 got_var(idtsur(isalt))=.true.
2819 sta(ng)%pioVar(idtsur(isalt))%vd=
var_desc(i)
2820 sta(ng)%pioVar(idtsur(isalt))%dkind=
pio_fout
2821 sta(ng)%pioVar(idtsur(isalt))%gtype=0
2822# ifdef BULK_FLUXES
2823 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idlhea))) THEN
2824 got_var(idlhea)=.true.
2825 sta(ng)%pioVar(idlhea)%vd=
var_desc(i)
2826 sta(ng)%pioVar(idlhea)%dkind=
pio_fout
2827 sta(ng)%pioVar(idlhea)%gtype=0
2828 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idshea))) THEN
2829 got_var(idshea)=.true.
2830 sta(ng)%pioVar(idshea)%vd=
var_desc(i)
2831 sta(ng)%pioVar(idshea)%dkind=
pio_fout
2832 sta(ng)%pioVar(idshea)%gtype=0
2833 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idlrad))) THEN
2834 got_var(idlrad)=.true.
2835 sta(ng)%pioVar(idlrad)%vd=
var_desc(i)
2836 sta(ng)%pioVar(idlrad)%dkind=
pio_fout
2837 sta(ng)%pioVar(idlrad)%gtype=0
2838# endif
2839# ifdef SHORTWAVE
2840 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idsrad))) THEN
2841 got_var(idsrad)=.true.
2842 sta(ng)%pioVar(idsrad)%vd=
var_desc(i)
2843 sta(ng)%pioVar(idsrad)%dkind=
pio_fout
2844 sta(ng)%pioVar(idsrad)%gtype=0
2845# endif
2846 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idempf))) THEN
2847 got_var(idempf)=.true.
2848 sta(ng)%pioVar(idempf)%vd=
var_desc(i)
2849 sta(ng)%pioVar(idempf)%dkind=
pio_fout
2850 sta(ng)%pioVar(idempf)%gtype=0
2851# if defined EMINUSP && defined BULK_FLUXES
2852 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idevap))) THEN
2853 got_var(idevap)=.true.
2854 sta(ng)%pioVar(idevap)%vd=
var_desc(i)
2855 sta(ng)%pioVar(idevap)%dkind=
pio_fout
2856 sta(ng)%pioVar(idevap)%gtype=0
2857 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idrain))) THEN
2858 got_var(idrain)=.true.
2859 sta(ng)%pioVar(idrain)%vd=
var_desc(i)
2860 sta(ng)%pioVar(idrain)%dkind=
pio_fout
2861 sta(ng)%pioVar(idrain)%gtype=0
2862# endif
2863# endif
2864 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idusms))) THEN
2865 got_var(idusms)=.true.
2866 sta(ng)%pioVar(idusms)%vd=
var_desc(i)
2867 sta(ng)%pioVar(idusms)%dkind=
pio_fout
2868 sta(ng)%pioVar(idusms)%gtype=0
2869 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvsms))) THEN
2870 got_var(idvsms)=.true.
2871 sta(ng)%pioVar(idvsms)%vd=
var_desc(i)
2872 sta(ng)%pioVar(idvsms)%dkind=
pio_fout
2873 sta(ng)%pioVar(idvsms)%gtype=0
2874 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubms))) THEN
2875 got_var(idubms)=.true.
2876 sta(ng)%pioVar(idubms)%vd=
var_desc(i)
2877 sta(ng)%pioVar(idubms)%dkind=
pio_fout
2878 sta(ng)%pioVar(idubms)%gtype=0
2879 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbms))) THEN
2880 got_var(idvbms)=.true.
2881 sta(ng)%pioVar(idvbms)%vd=
var_desc(i)
2882 sta(ng)%pioVar(idvbms)%dkind=
pio_fout
2883 sta(ng)%pioVar(idvbms)%gtype=0
2884# ifdef WET_DRY
2885 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idrwet))) THEN
2886 got_var(idrwet)=.true.
2887 sta(ng)%pioVar(idrwet)%vd=
var_desc(i)
2888 sta(ng)%pioVar(idrwet)%dkind=
pio_fout
2889 sta(ng)%pioVar(idrwet)%gtype=0
2890 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iduwet))) THEN
2891 got_var(iduwet)=.true.
2892 sta(ng)%pioVar(iduwet)%vd=
var_desc(i)
2893 sta(ng)%pioVar(iduwet)%dkind=
pio_fout
2894 sta(ng)%pioVar(iduwet)%gtype=0
2895 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvwet))) THEN
2896 got_var(idvwet)=.true.
2897 sta(ng)%pioVar(idvwet)%vd=
var_desc(i)
2898 sta(ng)%pioVar(idvwet)%dkind=
pio_fout
2899 sta(ng)%pioVar(idvwet)%gtype=0
2900# endif
2901 END IF
2902# ifdef SOLVE3D
2903 DO itrc=1,nt(ng)
2904 IF (trim(var_name(i)).eq.trim(vname(1,idtvar(itrc)))) THEN
2905 got_var(idtvar(itrc))=.true.
2906 sta(ng)%pioTrc(itrc)%vd=
var_desc(i)
2907 sta(ng)%pioTrc(itrc)%dkind=
pio_fout
2908 sta(ng)%pioTrc(itrc)%gtype=0
2909 END IF
2910 END DO
2911# endif
2912 END DO
2913
2914
2915
2916 IF (.not.got_var(idtime)) THEN
2917 IF (master) WRITE (stdout,60) trim(vname(1,idtime)), &
2918 & trim(ncname)
2919 exit_flag=3
2920 RETURN
2921 END IF
2922 IF (.not.got_var(idfsur).and.sout(idfsur,ng)) THEN
2923 IF (master) WRITE (stdout,60) trim(vname(1,idfsur)), &
2924 & trim(ncname)
2925 exit_flag=3
2926 RETURN
2927 END IF
2928
2929 IF (.not.got_var(idubar).and.sout(idubar,ng)) THEN
2930 IF (master) WRITE (stdout,60) trim(vname(1,idubar)), &
2931 & trim(ncname)
2932 exit_flag=3
2933 RETURN
2934 END IF
2935 IF (.not.got_var(idvbar).and.sout(idvbar,ng)) THEN
2936 IF (master) WRITE (stdout,60) trim(vname(1,idvbar)), &
2937 & trim(ncname)
2938 exit_flag=3
2939 RETURN
2940 END IF
2941 IF (.not.got_var(idu2de).and.sout(idu2de,ng)) THEN
2942 IF (master) WRITE (stdout,60) trim(vname(1,idu2de)), &
2943 & trim(ncname)
2944 exit_flag=3
2945 RETURN
2946 END IF
2947 IF (.not.got_var(idv2dn).and.sout(idv2dn,ng)) THEN
2948 IF (master) WRITE (stdout,60) trim(vname(1,idv2dn)), &
2949 & trim(ncname)
2950 exit_flag=3
2951 RETURN
2952 END IF
2953# ifdef SOLVE3D
2954 IF (.not.got_var(iduvel).and.sout(iduvel,ng)) THEN
2955 IF (master) WRITE (stdout,60) trim(vname(1,iduvel)), &
2956 & trim(ncname)
2957 exit_flag=3
2958 RETURN
2959 END IF
2960 IF (.not.got_var(idvvel).and.sout(idvvel,ng)) THEN
2961 IF (master) WRITE (stdout,60) trim(vname(1,idvvel)), &
2962 & trim(ncname)
2963 exit_flag=3
2964 RETURN
2965 END IF
2966 IF (.not.got_var(idu3de).and.sout(idu3de,ng)) THEN
2967 IF (master) WRITE (stdout,60) trim(vname(1,idu3de)), &
2968 & trim(ncname)
2969 exit_flag=3
2970 RETURN
2971 END IF
2972 IF (.not.got_var(idv3dn).and.sout(idv3dn,ng)) THEN
2973 IF (master) WRITE (stdout,60) trim(vname(1,idv3dn)), &
2974 & trim(ncname)
2975 exit_flag=3
2976 RETURN
2977 END IF
2978 IF (.not.got_var(idwvel).and.sout(idwvel,ng)) THEN
2979 IF (master) WRITE (stdout,60) trim(vname(1,idwvel)), &
2980 & trim(ncname)
2981 exit_flag=3
2982 RETURN
2983 END IF
2984 IF (.not.got_var(idovel).and.sout(idovel,ng)) THEN
2985 IF (master) WRITE(stdout,60) trim(vname(1,idovel)), &
2986 & trim(ncname)
2987 exit_flag=3
2988 RETURN
2989 END IF
2990 IF (.not.got_var(iddano).and.sout(iddano,ng)) THEN
2991 IF (master) WRITE (stdout,60) trim(vname(1,iddano)), &
2992 & trim(ncname)
2993 exit_flag=3
2994 RETURN
2995 END IF
2996# ifdef LMD_SKPP
2997 IF (.not.got_var(idhsbl).and.sout(idhsbl,ng)) THEN
2998 IF (master) WRITE (stdout,60) trim(vname(1,idhsbl)), &
2999 & trim(ncname)
3000 exit_flag=3
3001 RETURN
3002 END IF
3003# endif
3004# ifdef LMD_BKPP
3005 IF (.not.got_var(idhbbl).and.sout(idhbbl,ng)) THEN
3006 IF (master) WRITE (stdout,60) trim(vname(1,idhbbl)), &
3007 & trim(ncname)
3008 exit_flag=3
3009 RETURN
3010 END IF
3011# endif
3012 IF (.not.got_var(idvvis).and.sout(idvvis,ng)) THEN
3013 IF (master) WRITE (stdout,60) trim(vname(1,idvvis)), &
3014 & trim(ncname)
3015 exit_flag=3
3016 RETURN
3017 END IF
3018 IF (.not.got_var(idtdif).and.sout(idtdif,ng)) THEN
3019 IF (master) WRITE (stdout,60) trim(vname(1,idtdif)), &
3020 & trim(ncname)
3021 exit_flag=3
3022 RETURN
3023 END IF
3024# ifdef SALINITY
3025 IF (.not.got_var(idsdif).and.sout(idsdif,ng)) THEN
3026 IF (master) WRITE (stdout,60) trim(vname(1,idsdif)), &
3027 & trim(ncname)
3028 exit_flag=3
3029 RETURN
3030 END IF
3031# endif
3032# if defined GLS_MIXING || defined MY25_MIXING
3033 IF (.not.got_var(idmtke).and.sout(idmtke,ng)) THEN
3034 IF (master) WRITE (stdout,60) trim(vname(1,idmtke)), &
3035 & trim(ncname)
3036 exit_flag=3
3037 RETURN
3038 END IF
3039 IF (.not.got_var(idmtls).and.sout(idmtls,ng)) THEN
3040 IF (master) WRITE (stdout,60) trim(vname(1,idmtls)), &
3041 & trim(ncname)
3042 exit_flag=3
3043 RETURN
3044 END IF
3045# endif
3046# if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS
3047 IF (.not.got_var(idpair).and.sout(idpair,ng)) THEN
3048 IF (master) WRITE (stdout,60) trim(vname(1,idpair)), &
3049 & trim(ncname)
3050 exit_flag=3
3051 RETURN
3052 END IF
3053# endif
3054# if defined BULK_FLUXES || defined ECOSIM
3055 IF (.not.got_var(iduair).and.sout(iduair,ng)) THEN
3056 IF (master) WRITE (stdout,60) trim(vname(1,iduair)), &
3057 & trim(ncname)
3058 exit_flag=3
3059 RETURN
3060 END IF
3061 IF (.not.got_var(idvair).and.sout(idvair,ng)) THEN
3062 IF (master) WRITE (stdout,60) trim(vname(1,idvair)), &
3063 & trim(ncname)
3064 exit_flag=3
3065 RETURN
3066 END IF
3067# endif
3068 IF (.not.got_var(idtsur(itemp)).and.sout(idtsur(itemp),ng)) THEN
3069 IF (master) WRITE (stdout,60) trim(vname(1,idtsur(itemp))), &
3070 & trim(ncname)
3071 exit_flag=3
3072 RETURN
3073 END IF
3074 IF (.not.got_var(idtsur(isalt)).and.sout(idtsur(isalt),ng)) THEN
3075 IF (master) WRITE (stdout,60) trim(vname(1,idtsur(isalt))), &
3076 & trim(ncname)
3077 exit_flag=3
3078 RETURN
3079 END IF
3080# ifdef BULK_FLUXES
3081 IF (.not.got_var(idlhea).and.sout(idlhea,ng)) THEN
3082 IF (master) WRITE (stdout,60) trim(vname(1,idlhea)), &
3083 & trim(ncname)
3084 exit_flag=3
3085 RETURN
3086 END IF
3087 IF (.not.got_var(idshea).and.sout(idshea,ng)) THEN
3088 IF (master) WRITE (stdout,60) trim(vname(1,idshea)), &
3089 & trim(ncname)
3090 exit_flag=3
3091 RETURN
3092 END IF
3093 IF (.not.got_var(idlrad).and.sout(idlrad,ng)) THEN
3094 IF (master) WRITE (stdout,60) trim(vname(1,idlrad)), &
3095 & trim(ncname)
3096 exit_flag=3
3097 RETURN
3098 END IF
3099# endif
3100# ifdef SHORTWAVE
3101 IF (.not.got_var(idsrad).and.sout(idsrad,ng)) THEN
3102 IF (master) WRITE (stdout,60) trim(vname(1,idsrad)), &
3103 & trim(ncname)
3104 exit_flag=3
3105 RETURN
3106 END IF
3107# endif
3108 IF (.not.got_var(idempf).and.sout(idempf,ng)) THEN
3109 IF (master) WRITE (stdout,60) trim(vname(1,idempf)), &
3110 & trim(ncname)
3111 exit_flag=3
3112 RETURN
3113 END IF
3114# if defined EMINUSP && defined BULK_FLUXES
3115 IF (.not.got_var(idevap).and.sout(idevap,ng)) THEN
3116 IF (master) WRITE (stdout,60) trim(vname(1,idevap)), &
3117 & trim(ncname)
3118 exit_flag=3
3119 RETURN
3120 END IF
3121 IF (.not.got_var(idrain).and.sout(idrain,ng)) THEN
3122 IF (master) WRITE (stdout,60) trim(vname(1,idrain)), &
3123 & trim(ncname)
3124 exit_flag=3
3125 RETURN
3126 END IF
3127# endif
3128# endif
3129 IF (.not.got_var(idusms).and.sout(idusms,ng)) THEN
3130 IF (master) WRITE (stdout,60) trim(vname(1,idusms)), &
3131 & trim(ncname)
3132 exit_flag=3
3133 RETURN
3134 END IF
3135 IF (.not.got_var(idvsms).and.sout(idvsms,ng)) THEN
3136 IF (master) WRITE (stdout,60) trim(vname(1,idvsms)), &
3137 & trim(ncname)
3138 exit_flag=3
3139 RETURN
3140 END IF
3141 IF (.not.got_var(idubms).and.sout(idubms,ng)) THEN
3142 IF (master) WRITE (stdout,60) trim(vname(1,idubms)), &
3143 & trim(ncname)
3144 exit_flag=3
3145 RETURN
3146 END IF
3147 IF (.not.got_var(idvbms).and.sout(idvbms,ng)) THEN
3148 IF (master) WRITE (stdout,60) trim(vname(1,idvbms)), &
3149 & trim(ncname)
3150 exit_flag=3
3151 RETURN
3152 END IF
3153# ifdef WET_DRY
3154 IF (.not.got_var(idrwet).and.sout(idrwet,ng)) THEN
3155 IF (master) WRITE (stdout,60) trim(vname(1,idrwet)), &
3156 & trim(ncname)
3157 exit_flag=3
3158 RETURN
3159 END IF
3160 IF (.not.got_var(iduwet).and.sout(iduwet,ng)) THEN
3161 IF (master) WRITE (stdout,60) trim(vname(1,iduwet)), &
3162 & trim(ncname)
3163 exit_flag=3
3164 RETURN
3165 END IF
3166 IF (.not.got_var(idvwet).and.sout(idvwet,ng)) THEN
3167 IF (master) WRITE (stdout,60) trim(vname(1,idvwet)), &
3168 & trim(ncname)
3169 exit_flag=3
3170 RETURN
3171 END IF
3172# endif
3173# ifdef SOLVE3D
3174 DO itrc=1,nt(ng)
3175 IF (.not.got_var(idtvar(itrc)).and.sout(idtvar(itrc),ng)) THEN
3176 IF (master) WRITE (stdout,60) trim(vname(1,idtvar(itrc))), &
3177 & trim(ncname)
3178 exit_flag=3
3179 RETURN
3180 END IF
3181 END DO
3182# endif
3183
3184# if defined BBL_MODEL || defined WAVES_OUTPUT
3185
3186
3187
3188
3189 CALL bbl_def_station_pio (ng, model, ldef, sout, sta)
3190 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3191# endif
3192
3193# ifdef ICE_MODEL
3194
3195
3196
3197
3198 CALL ice_def_station_pio (ng, model, ldef, sout, sta)
3199 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3200# endif
3201
3202# ifdef SEDIMENT
3203
3204
3205
3206
3207 CALL sediment_def_pio (ng, model, ldef, sout, sta)
3208 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3209# endif
3210
3211# if defined WEC || defined WEC_VF
3212
3213
3214
3215
3216 CALL wec_def_station_pio (ng, model, ldef, sout, sta)
3217 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3218# endif
3219
3220
3221
3222
3223 sta(ng)%Rindex=(ntstart(ng)-1)/nsta(ng)
3224 END IF query
3225
3226 10 FORMAT (2x,'DEF_STATION_PIO - creating stations file,',t56, &
3227 & 'Grid ',i2.2,': ',a)
3228 20 FORMAT (2x,'DEF_STATION_PIO - inquiring stations file',t56, &
3229 & 'Grid ',i2.2,': ',a)
3230 30 FORMAT (/,' DEF_STATION_PIO - unable to create stations NetCDF', &
3231 & ' file: ',a)
3232 40 FORMAT (1pe11.4,1x,'millimeter')
3233 50 FORMAT (/,' DEF_STATION_PIO - unable to open stations NetCDF', &
3234 & ' file: ',a)
3235 60 FORMAT (/,' DEF_STATION_PIO - unable to find variable: ',a,2x, &
3236 & ' in stations NetCDF file: ',a)
3237
3238 RETURN
integer, parameter pio_fout
type(var_desc_t), dimension(:), pointer var_desc
subroutine, public pio_netcdf_create(ng, model, ncname, piofile)
subroutine, public pio_netcdf_inq_var(ng, model, ncname, piofile, myvarname, searchvar, piovar, nvardim, nvaratt)
subroutine, public pio_netcdf_open(ng, model, ncname, omode, piofile)
subroutine, public pio_netcdf_check_dim(ng, model, ncname, piofile)
integer, parameter pio_tout
subroutine, public pio_netcdf_enddef(ng, model, ncname, piofile)