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

📄 data.f90

📁 CLM集合卡曼滤波数据同化算法
💻 F90
字号:
       SUBROUTINE data(lon     ,lat     ,msub    ,&                       nsrest  ,rdlsf   ,rdlai   ,dt_step   ,mstep ,&                       mbyear  ,mbday   ,mbsec   ,greenwich ,&                       lun_ini ,lun_rst ,lun_srf ,lun_lai   ,lun_met, lun_out)     !-----------------------------------------------------------------------!     ! Read data from namelist clmexp to define the run and open the files!!---------------------------output variables-----------------------------       IMPLICIT NONE       integer, INTENT(out) :: &       lon,             &!longitude points       lat,             &!latitude points       msub,            &!number of submesh       mstep,           &!model step for simulation [-]       mbyear,          &!base year of run       mbday,           &!base julian day of run       mbsec,           &!base seconds of starting date (e.g., 0)       nsrest,          &!0 = initial run, > 0 = continuation run       lun_ini,         &!logical unit number of initial data       lun_rst,         &!logical unit number of re-start file       lun_srf,         &!logical unit number of surface data       lun_lai,         &!logical unit number of LAI data       lun_met,         &!logical unit number of meteorological data       lun_out           !logical unit number of output file              logical, INTENT(out) :: &       rdlsf,           &!true if read in initial data set       rdlai,           &!true if read in LAI data set       greenwich         !true if the input starting time is greenwich time                         !false -> local time       real, INTENT(out) :: &       dt_step           ! time step of model (second)!---------------------------Local variables-----------------------------       character(LEN=40) :: &       site,            &! site name       inidat,          &! file name of initial data       rstdat,          &! file name of re-start file       srfdat,          &! file name of surface data       laidat,          &! file name of LAI data       metdat,          &! file name meteorological data       outdat            ! file name of output file!! --------------------------Namelist variables--------------------------!       namelist /clmexp/ site   ,lon    ,lat    ,msub, &                         nsrest ,rdlsf  ,rdlai  ,dt_step ,mstep, &                      greenwich ,mbyear ,mbday  ,mbsec   ,inidat, &                         rstdat ,srfdat ,laidat ,metdat  ,outdat! ----------------------------------------------------------------------!               open(unit=5,file='bj_2004_in',form='formatted')        open(unit=6,file='bj_2004_out',form='formatted')         read (5,clmexp)        write(6,*) 'the running for case ',                 site        write(6,*)         write(6,100) lon        write(6,*)         write(6,110) lat        write(6,*)         write(6,120) msub        write(6,*)         write(6,130) dt_step        write(6,*)         write(6,140) mstep        write(6,*)        if(greenwich)then           write(6,*) 'the starting time is the greenwich time'        else           write(6,*) 'the starting time is local time'        endif        write(6,*)         write(6,150) mbyear        write(6,*)         write(6,160) mbday        write(6,*)         write(6,170) mbsec        lun_ini = 100        if(nsrest==0)then           if(rdlsf)then           open(unit=lun_ini,file=inidat,form='formatted')           write(6,*)            write(6,*) 'Initial run with read-in initial data ',inidat           else            write(6,*)            write(6,*) 'Initial run with arbitrary initial set'           endif        endif        lun_rst = 110        open(unit=lun_rst,file=rstdat,form='formatted')        write(6,*)         write(6,*) 'Re-strat run with read-in from or write out to re-start data ',rstdat        lun_srf = 120        open(unit=lun_srf,file=srfdat,form='formatted')        write(6,*)         write(6,*) 'read-in surface parameters from ',srfdat        lun_met = 130        open(unit=lun_met,file=metdat,status='old',form='formatted')        write(6,*)         write(6,*) 'read-in meteorological data from ',metdat              lun_lai = 140        if(rdlai)then        open(unit=lun_lai,file=laidat,status='old',form='formatted')        write(6,*)         write(6,*) 'read-in LAI data from ',laidat        endif        lun_out = 150        open(unit=lun_out,file=outdat,status='unknown',form='unformatted')        write(6,*)         write(6,*) 'write-out the model output to ',outdat100     format(' the running for longitude number =       ',i8)110     format(' the running for latitude number =        ',i8)120     format(' the running for tile number in grids =   ',i8)130     format(' the running time step (second) =         ',f10.1)140     format(' the running total steps =                ',i8)150     format(' the running starting year =              ',i8)160     format(' the running starting julian day =        ',i8)170     format(' the running starting seconds (0-86400) = ',i8)                close(5)         END SUBROUTINE data

⌨️ 快捷键说明

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