⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 average.f

📁 CLM集合卡曼滤波数据同化算法
💻 F
字号:
! ----------------------------------------------------------------------! for CLM daily/monthly/annual average mean! ----------------------------------------------------------------------      IMPLICIT NONE      integer msl,i,j,m,mstep, mday, jday, k, mi, intf,mn      parameter (msl=10)!     parameter (mstep=315552, mday=6570, intf=48, mi=1)    ! Valdai data!     parameter (mstep=17520, mday=365, intf=48, mi=1)      ! Cabauw / Hapex!     parameter (mstep=17520, mday=365, intf=24, mi=9)      ! Arme      parameter (mstep=17544, mday=365, intf=24, mi=1)      ! Abracos!     parameter (mstep=35088, mday=365, intf=48, mi=5)      ! fife data!     parameter (mstep=26280, mday=365, intf=72, mi=6)      ! Tucson data!     parameter (mstep=17520, mday=365, intf=48, mi=1)      ! Boreas      real calday     ! current julian day including fraction! Radiative fluxes      real solar,     ! incident solar radiation (W/m2)     $     sabv,      ! solar absorbed by vegetation (W/m2)     $     sabg,      ! solar absorbed by ground (W/m2)     $     frl,       ! downward infrared (longwave) radiation (W/m2)     $     olrg,      ! outgoing longwave radiation from canopy + ground! Sensible fluxes     $     fsena,     ! sensible heat to atmosphere (total) (W/m2)     $     fsenl,     ! sensible heat from leaves to canopy air (W/m2)     $     fseng,     ! sensible heat flux from ground (W/m2)! Latent heat fluxes     $     fevpa,     ! evapotranspiration to atmosphere (total) (W/m2)     $     fevpl,     ! evaporation+transpiration from leaves (mm/s)     $     etr,       ! transpiration rate (mm/s)     $     fevpg,     ! evaporation heat flux from ground (mm/s)     $     fgrnd,     ! ground heat flux ( positive surface towards soil) (W/m2)     $     taux,      ! stress     $     tauy,      ! stress! Water balance     $     prcp,      ! precipitation (mm h2o/s)     $     rsur,      ! surface runoff (mm h2o/s)     $     rnof,      ! total runoff (mm h2o/s)     $     ldew,      ! depth of water on foliage (mm)     $     scv,       ! snow cover, water equivalent (mm)     $     snowdp,    ! snow depth (meter)! Photosynthesis     $     rst,       !     $     assim,     !     $     respc,     !! State variables     $     tm,        ! air temperature (K)     $     trad,      ! radiative temperature (K)     $     tref,      ! reference height temperature (K)     $     tlsun,     ! leaf temperature (K)     $     tlsha,     ! leaf temperature (K)     $     tg,        ! ground surface temperature (K)     $     wind,      ! wind component (m/s)     $     qm,        ! specific humidity (kg/kg)     $     sigf,      ! fraction of veg cover, excluding snow-covered veg (-)     $     fsno,      ! fraction of soil covered by snow (-)     $     tss(msl),  ! soil temperature (K)     $     wliq(msl), ! liquid water in layers (kg/m2)     $     wice(msl)  ! ice lens in layers (water equivalent) (kg/m2)      real X(65), Y(65)      integer julia(12)      data julia / 31,  59,  90, 120, 151, 181, 212,     $            243, 273, 304, 334, 365 /! ----------------------------------------------------------------------      m = 0      mn = mi      do i = 2, 65         X(I) = 0.         Y(I) = 0.      enddo!     open(11,file='VALDAI-output',form='unformatted')!     open(12,file='CLM_valdai.daily',form='formatted')!     open(13,file='CLM_valdai.monthly',form='formatted')!     open(11,file='CAB-output',form='unformatted')!     open(12,file='CLM_cabauw.daily',form='formatted')!     open(13,file='CLM_cabauw.monthly',form='formatted')!     open(11,file='HAP-output',form='unformatted')!     open(12,file='CLM_hapex.daily',form='formatted')!     open(13,file='CLM_hapex.monthly',form='formatted')!     open(11,file='ARM-output',form='unformatted')!     open(12,file='CLM_arme.daily',form='formatted')!     open(13,file='CLM_arme.monthly',form='formatted')      open(11,file='ABRJ-output_twoleaf',form='unformatted')      open(12,file='CLM_abrj_twoleaf.daily',form='formatted')      open(13,file='CLM_abrj_twoleaf.monthly',form='formatted')!     open(11,file='ABNS-output_oneleaf',form='unformatted')!     open(12,file='CLM_abns.daily_oneleaf',form='formatted')!     open(13,file='CLM_abns.monthly_oneleaf',form='formatted')!     open(11,file='TUC-output',form='unformatted')!     open(12,file='CLM_tuc.daily',form='formatted')!     open(13,file='CLM_tuc.monthly',form='formatted')!     open(11,file='FIFE-output',form='unformatted')!     open(12,file='CLM_fife.daily',form='formatted')!     open(13,file='CLM_fife.monthly',form='formatted')!     open(11,file='NSAGRASS-output_oneleaf',form='unformatted')!     open(12,file='CLM_nsagrass.daily_oneleaf',form='formatted')!     open(13,file='CLM_nsagrass.monthly_oneleaf',form='formatted')! ----------------------------------------------------------------------      do 100 j = 1, mstep      m = m+ 1      read(11)                                 !     $   calday,                               ! [1]! ----------------------------------------------------------------------! Fluxes     $   solar,                                ! [2]  W/m2     $   sabv,                                 ! [3]  W/m2     $   sabg,                                 ! [4]  W/m2     $   frl,                                  ! [5]  W/m2     $   olrg,                                 ! [6]  W/m2     $   fsena,                                ! [7]     $   fsenl,                                ! [8]  W/m2     $   fseng,                                ! [9]  W/m2     $   fevpa,                                ! [10] W/m2       $   fevpl,                                ! [11] [mm/s]     $   etr,                                  ! [12] [mm/s]     $   fevpg,                                ! [13] [mm/s]     $   fgrnd,                                ! [14] W/m2     $   taux,                                 ! [15] (kg/m/s2)     $   tauy,                                 ! [16] (kg/m/s2)! ----------------------------------------------------------------------! Water     $   prcp,                                 ! [17] mm / s     $   rsur,                                 ! [18] mm / s     $   rnof,                                 ! [19] mm / s     $   ldew,                                 ! [20] millimeter     $   scv,                                  ! [21] millimeter     $   snowdp,                               ! [22] meter! ----------------------------------------------------------------------! assimilation of CO2     $   rst,                                  ! [23]     $   assim,                                ! [24]     $   respc,                                ! [25]! ----------------------------------------------------------------------! temperatures     $   tm,                                   ! [26] K     $   trad,                                 ! [27] K     $   tref,                                 ! [28] K     $   tlsun,                                ! [29] K     $   tlsha,                                ! [30] K     $   tg,                                   ! [31] K     $   wind,                                 ! [32] m/s     $   qm,                                   ! [33] kg/kg     $   sigf,                                 ! [34] -     $   fsno,                                 ! [35] -     $  (tss (i),i=1, 10),                     ! [36 - 45] K     $  (wliq(i),i=1, 10),                     ! [46 - 55] millimeter     $  (wice(i),i=1, 10)                      ! [56 - 65] millimeter         X(1)  = calday         X(2)  = X(2)  + solar                X(3)  = X(3)  + sabv                 X(4)  = X(4)  + sabg                 X(5)  = X(5)  + frl                  X(6)  = X(6)  + olrg                 X(7)  = X(7)  + fsena                X(8)  = X(8)  + fsenl               X(9)  = X(9)  + fseng               X(10) = X(10) + fevpa               X(11) = X(11) + fevpl               X(12) = X(12) + etr                 X(13) = X(13) + fevpg               X(14) = X(14) + fgrnd               X(15) = X(15) + taux         X(16) = X(16) + tauy         X(17) = X(17) + prcp                X(18) = X(18) + rsur                X(19) = X(19) + rnof                X(20) = X(20) + ldew               X(21) = X(21) + scv                 X(22) = X(22) + snowdp             X(23) = X(23) + rst         X(24) = X(24) + assim         X(25) = X(25) + respc         X(26) = X(26) + tm                 X(27) = X(27) + trad                X(28) = X(28) + tref         X(29) = X(29) + tlsun         X(30) = X(30) + tlsha         X(31) = X(31) + tg         X(32) = X(32) + wind               X(33) = X(33) + qm                 X(34) = X(34) + sigf               X(35) = X(35) + fsno               do i = 1,10            X(35+i) = X(35+i) + tss(i)             X(45+i) = X(45+i) + wliq(i)            X(55+i) = X(55+i) + wice(i)         enddo! daily average          if(m .eq. intf)then            do i = 2, 65               X(I) = X(I)/float(intf)            enddo            write(12,*) int(X(1)), (X(I),i=2,65)C-------------------------! monthly average            do i = 2, 65               Y(i) = Y(i) + X(i)            enddo             if(int(X(1)) .eq. julia(mn))then               do i = 2, 65                  if(mn .le. 1)then                     Y(i) = Y(i)/real(julia(mn))                  else                     Y(i) = Y(i)/real(julia(mn) - julia(mn-1))                  endif               enddo               write(13,*) int(X(1)), (Y(i),i=2,65)               mn= mn + 1               if(int(X(1)).eq.julia(12)) mn = 1               do i = 2, 65                  Y(i) = 0.               enddo            endif            m = 0            do i = 2, 65               X(I) = 0.            enddoC-------------------------         endif100   continue       close (11)      close (12)      close (13)      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -