Subroutine vom_write_dayyear
1849 :
1850 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1851 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1852 : !+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1853 :
1854 :
1855 : subroutine vom_write_dayyear ( tp_netassg, tp_netasst )
1856 : use vom_vegwat_mod
1857 : implicit none
1858 :
1859 : REAL*8, INTENT(in) :: tp_netassg
1860 : REAL*8, INTENT(in) :: tp_netasst
1861 : CHARACTER(60) :: dailyformat
1862 : CHARACTER(3) :: str
1863 :
1864 : ! * internal write to convert from number to string
1865 : write(str,'(I3)') wlayer_
1866 : ! * includes a column for each sublayer
1867 : dailyformat = '(I6,I6,I4,I7,'//str//'E14.6)'
1868 :
1869 : write(kfile_resultsdaily,'(I6,I7,I7,I7,I7,34E15.5)') &
1870 : & fyear(nday), fmonth(nday), fday(nday), nday, nhour-1, &
1871 : & rain_d(nday), tairmax_d(nday), tairmin_d(nday), par_d(nday), &
1872 : & vd_d / 24.d0, esoil_d, jmax25t_d(2), jmax25g_d(2), &
1873 : & o_cai + pcg_d(2), rlt_d , rlg_d, lambdat_d, lambdag_d, &
1874 : & rrt_d * 3600.d0 * 24.d0, rrg_d * 3600.d0 * 24.d0, asst_d(2,2), &
1875 : & assg_d(2,2,2), SUM(su__(1:wlayer_)) / wlayer_, zw_, wsnew, &
1876 : & spgfcf_d, infx_d, etmt_d, etmg_d, su__(1), topt_, &
1877 : & tcg_d(2,2), q_tct_d(2), cpccg_d(2), q_cpcct_d, &
1878 : & lai_lt(2), lai_lg(2), tp_netassg, tp_netasst
1879 :
1880 : write(kfile_rsurfdaily,dailyformat) fyear(nday), fmonth(nday), &
1881 : & fday(nday), nday, rsurft_(1:wlayer_)
1882 :
1883 : if (fyear(nday) .ne. nyear) then
1884 : ! * for calculation of vd_y a -1 is added to nday for using dayyear of correct year
1885 : write(kfile_resultsyearly,'(i6,18e16.6)') nyear, rain_y, &
1886 : & par_y, srad_y, vd_y / (dayyear(nday-1)), esoil_y, etm_y, &
1887 : & etmg_y, assg_y, rlg_y, rrg_y, cpccg_y, tcg_y, &
1888 : & etmt_y, asst_y, rlt_y, rrt_y, cpcct_y, tct_y
1889 : endif
1890 :
1891 : ! * WRITING THE ACCUMULATED DATA FROM THE LAST YEAR TO FILE:
1892 :
1893 : if (nday .eq. c_maxday) then
1894 : ! * call subroutine there to get yearly data for the output
1895 : call vom_add_yearly()
1896 : write(kfile_resultsyearly,'(i6,18e16.6)') nyear, rain_y, &
1897 : & par_y, srad_y, vd_y / (dayyear(nday)), esoil_y, etm_y, &
1898 : & etmg_y, assg_y, rlg_y, rrg_y, cpccg_y, tcg_y, &
1899 : & etmt_y, asst_y, rlt_y, rrt_y, cpcct_y, tct_y
1900 : endif
1901 :
1902 : return
1903 : end subroutine vom_write_dayyear