亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? initializemod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
字號:
#include <misc.h>#include <preproc.h>module initializeMod    use spmdMod, only : masterproc!=======================================================================CONTAINS!=======================================================================#if (defined OFFLINE) || (defined COUP_CSM)  subroutine initialize(eccen       , obliqr      , lambm0    , mvelpp    )#elif (defined COUP_CAM)  subroutine initialize(eccen       , obliqr      , lambm0    , mvelpp    , cam_caseid , &                         cam_ctitle  , cam_nsrest  , cam_nstep , cam_irad  , cam_crtinic, &                        cam_nhtfrq  , cam_mfilt   , cam_longxy, cam_latixy, cam_numlon , &                        cam_landmask, cam_landfrac, cam_irt   )#endif!----------------------------------------------------------------------- ! ! Purpose: ! Land model initialization. !! Method: ! Initialization routine for land surface model. This subroutine: !   o Initializes run control variables via the [clmexp] namelist !   o Reads in and/or creates surface data on [lsmlon] x [lsmlat] grid !   o Defines the multiple plant types and fraction areas for each surface type !   o Builds the appropriate subgrid <-> grid mapping indices and weights !   o Assigns subgrid patches the appropriate time-constant data!   o Initializes history file variables!   o Initializes RTM river routing model (if cpp varialbe RTM is defined)!   o Reads in restart data (for a restart or branch run)!   o Reads in initial data and initializes the time variant variables !     (for an initial run)! ! Author: Gordon Bonan! !-----------------------------------------------------------------------! $Id: initializeMod.F90,v 1.7.2.7.6.1 2002/05/13 19:25:06 erik Exp $!-----------------------------------------------------------------------    use precision    use clm_varder    use clm_varpar     , only : lsmlon, lsmlat, maxpatch    use clm_varmap     , only : numland, numpatch, begpatch, endpatch    use clm_varsur     , only : varsur_alloc, varsur_dealloc    use clm_varctl     , only : fsurdat, finidat, nsrest, irad, &                                mksrf_offline_fgrid, mksrf_offline_fnavyoro    use controlMod     , only : control_init, control_print    use fileutils      , only : lsmiou    use mksrfdatMod    , only : mksrfdat    use surfFileMod    , only : surfrd    use pftcFileMod    , only : pftconrd    use mvegFileMod    , only : interpMonthlyVeg    use histFileMod    , only : histini    use restFileMod    , only : restrd#if (defined COUP_CAM)    use time_manager   , only:  get_curr_date, get_nstep#else    use time_manager   , only:  get_curr_date, timemgr_init, get_nstep, &	                        advance_timestep#endif#if (defined OFFLINE)    use atmdrvMod      , only : atm_getgrid#endif#if (defined RTM)     use RtmMod         , only : Rtmgridini, Rtmlandini#endif#if (defined COUP_CSM)    use clm_csmMod    #endif    implicit none! ------------------------ arguments ----------------------------------    real(r8), intent(inout) :: eccen    !Earth's orbital eccentricity    real(r8), intent(inout) :: obliqr   !Earth's obliquity in radians    real(r8), intent(inout) :: lambm0   !Mean longitude of perihelion at the vernal equinox (radians)    real(r8), intent(inout) :: mvelpp   !Earth's moving vernal equinox longitude of perihelion + pi (radians)#if (defined COUP_CAM)    character(len=*),  intent(in) :: cam_caseid   !cam caseid    character(len=*),  intent(in) :: cam_ctitle   !cam title    character(len=*),  intent(in) :: cam_crtinic  !cam initial dataset generation frequency    integer ,  intent(in) :: cam_irad             !cam radiation frequency    integer ,  intent(in) :: cam_nsrest           !cam 0=initial run, > 0=continuation run    integer ,  intent(in) :: cam_nstep            !cam current time index    integer ,  intent(in) :: cam_nhtfrq           !cam history write freq for tape 1    integer ,  intent(in) :: cam_mfilt            !cam number of files per tape for tape 1    integer ,  intent(in) :: cam_irt              !cam mss retention time    integer ,  intent(in) :: cam_numlon(:)        !cam number of longitudes     real(r8),  intent(in) :: cam_longxy(:,:)      !cam lon values    real(r8),  intent(in) :: cam_latixy(:,:)      !cam lat values     real(r8),  intent(in) :: cam_landfrac(:,:)    !cam fractional land    integer ,  intent(in) :: cam_landmask(:,:)    !cam land mask#endif! ----------------------------------------------------------------------! ------------------------ local variables -----------------------------    logical  :: readini               !true if read in initial data set    integer  :: i,j,k                 !indices    integer  :: yr                    !current year (0, ...)    integer  :: mon                   !current month (1 -> 12)    integer  :: day                   !current day (1 -> 31)    integer  :: ncsec                 !current time of day [seconds]    integer  :: vegxy(lsmlon,lsmlat,maxpatch) !vegetation type    real(r8) :: wtxy(lsmlon,lsmlat,maxpatch)  !subgrid weights#if (defined COUP_CSM)    integer  :: cam_numlon(lsmlat)           !cam number of longitudes     real(r8) :: cam_longxy(lsmlon,lsmlat)    !cam lon values    real(r8) :: cam_latixy(lsmlon,lsmlat)    !cam lat values     real(r8) :: cam_landfrac(lsmlon,lsmlat)  !cam fractional land    integer  :: cam_landmask(lsmlon,lsmlat)  !cam land mask#endif    integer  :: nstep                        !current time step! ----------------------------------------------------------------------! Echo initialization to standard output    call header()    if (masterproc) then       write (6,*) 'Attempting to initialize the land model .....'       write (6,*)    endif! ----------------------------------------------------------------------! Initialize run control variables, time manager, timestep! ----------------------------------------------------------------------#if (defined COUP_CAM)    call control_init (cam_caseid , cam_ctitle, cam_irad , cam_nsrest, &                       cam_crtinic, cam_nhtfrq, cam_mfilt, cam_irt )#else    call control_init ()#endif    if (masterproc) call control_print()#if (defined OFFLINE) || (defined COUP_CSM)! Initialize time manager for initial run    if (nsrest == 0) call timemgr_init()#endif    ! Allocate surface grid dynamic memory (only needed for initialization)    call varsur_alloc()#if (defined OFFLINE)! start at nstep = 1 for an initial offline run  if (nsrest == 0) call advance_timestep()#endif! ----------------------------------------------------------------------! Initialize Fortran unit numbers 1 to 99 to inactive: except standard ! input (5) and standard output (6) ! ----------------------------------------------------------------------    lsmiou(:) = .false.    lsmiou(5) = .true.    lsmiou(6) = .true.    if (masterproc) then       write (6,*) 'Preset Fortran unit numbers:'       write (6,*) '   unit  5 = standard input'       write (6,*) '   unit  6 = standard output'    endif#if (defined RTM) ! ----------------------------------------------------------------------! Initialize RTM river routing grid and mask! ----------------------------------------------------------------------     call Rtmgridini ()#endif#if (defined COUP_CSM)! ----------------------------------------------------------------------! Initial flux coupler communication! ----------------------------------------------------------------------! Receive orbital parameters from flux coupler     call csm_recvorb (eccen, obliqr, lambm0, mvelpp)! Send control data to flux coupler    call csm_sendcontrol (irad)! Get grid and land mask back from flux coupler    call csm_recvgrid (cam_longxy, cam_latixy, cam_numlon, cam_landfrac, cam_landmask) #endif! ----------------------------------------------------------------------! If no surface dataset name is specified then make surface dataset! from original data sources. Always read surface boundary data in.! This insures that bit for bit results are obtained for a run where a ! surface dataset file is generated and a run where a surface dataset ! is specified and read in. Set up vegetation type [veg] and weight [wt]! arrays for [maxpatch] subgrid patches.! ----------------------------------------------------------------------#if (defined OFFLINE)    if (fsurdat == ' ') then       call mksrfdat ()    endif    call surfrd (vegxy, wtxy)#else    if (fsurdat == ' ') then       call mksrfdat (cam_longxy, cam_latixy, cam_numlon, cam_landfrac, cam_landmask)     endif    call surfrd (vegxy, wtxy, &         cam_longxy, cam_latixy, cam_numlon, cam_landfrac, cam_landmask)#endif! ----------------------------------------------------------------------! Read list of PFTs and their corresponding parameter values! ----------------------------------------------------------------------    call pftconrd ()! ----------------------------------------------------------------------! Use [wtxy] to build mapping indices and weights: ! [lsmlon] x [lsmlat] grid <-> [numland] vector of land points <-> ! [numpatch] vector of subgrid points! ----------------------------------------------------------------------    call clm_map (wtxy)! ----------------------------------------------------------------------! Initialize time invariant variables as subgrid vectors of length [numpatch] ! ----------------------------------------------------------------------    if (masterproc) then       write (6,*) ('Attempting to initialize time invariant variables')    endif    call iniTimeConst (vegxy)    if (masterproc) then       write (6,*) ('Successfully initialized time invariant variables')       write (6,*)    endif! ----------------------------------------------------------------------! Initialize river routing model(s) ! ----------------------------------------------------------------------#if (defined RTM)     call Rtmlandini ()#endif#if (defined COUP_CSM)! Send valid ocean runoff points to coupler    call csm_sendrunoff ()  #endif! ----------------------------------------------------------------------! Read restart files if continuation run! ----------------------------------------------------------------------    if (nsrest > 0) call restrd ()#if (defined OFFLINE)! ----------------------------------------------------------------------! Read atmospheric forcing dataset one time to obtain the longitudes ! and latitudes of the atmospheric dataset, as well as the edges. When! coupled to atm model, these are input variables. If no! atmospheric data files are provided, model uses dummy atmospheric! forcing and sets atmospheric grid to land grid.! ----------------------------------------------------------------------    if (masterproc) then       write (6,*) 'Attempting to set up atmospheric grid .....'    endif    call atm_getgrid ()    if (masterproc) then       write (6,*) 'Succesfully set up atmospheric grid .....'       write (6,*)    endif#endif! ----------------------------------------------------------------------! Get current date! ----------------------------------------------------------------------    call get_curr_date(yr, mon, day, ncsec)! ----------------------------------------------------------------------! Initialize variables for history files! ----------------------------------------------------------------------    call histini ()! ----------------------------------------------------------------------! Read monthly vegetation data for interpolation to daily values! Note: routine mapinit needs to be called first since interpMonthlyVeg! needs the array landvec%wtxy! ----------------------------------------------------------------------    call interpMonthlyVeg (fsurdat, mon, day) ! ----------------------------------------------------------------------! If initial run: initialize time-varying data ! If continuation run: end of initialization because time varying! read in from restart file! ----------------------------------------------------------------------    if (nsrest == 0) then       if (masterproc) then          write (6,*) ('Attempting to initialize time variant variables .....')       endif       if (finidat == ' ') then          readini = .false.       else          readini = .true.       end if       call iniTimeVar (readini, eccen, obliqr, lambm0 , mvelpp)       if (masterproc) then          write (6,*) ('Successfully initialized time variant variables')          write (6,*)       endif    endif#if (defined COUP_CSM)! ----------------------------------------------------------------------! Send first land model data to flux coupler. ! ----------------------------------------------------------------------  call csm_sendalb ()#endif! Deallocate surface grid dynamic memory    call varsur_dealloc ()! ----------------------------------------------------------------------! End initialization! ----------------------------------------------------------------------    if (masterproc) then       write (6,*) ('Successfully initialized the land model')       if (nsrest == 0) then          write (6,*) 'begin initial run at: '       else          write (6,*) 'begin continuation run at:'       end if       write (6,*) '   nstep= ',get_nstep(), &            ' year= ',yr,' month= ',mon,' day= ',day,' seconds= ',ncsec       write (6,*)       write (6,'(72a1)') ("*",i=1,60)       write (6,*)    endif    return  end subroutine initialize!=======================================================================  subroutine header!----------------------------------------------------------------------- ! ! Purpose: ! echo and save model version number!! Method: ! ! Author: Gordon Bonan! !-----------------------------------------------------------------------    use precision    use clm_varctl, only : version    implicit none    version = 'CLM MODEL version 2.0'    if ( masterproc )then      write (6,*) trim(version)      write (6,*)    end if    return  end subroutine header!=======================================================================end module initializeMod

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久免费| 亚洲女人****多毛耸耸8| 国产精品国产自产拍高清av| 亚洲h动漫在线| 国产成人精品免费视频网站| 777午夜精品视频在线播放| 国产精品久久久一区麻豆最新章节| 日韩国产精品久久久久久亚洲| 99视频在线观看一区三区| 欧美tickling挠脚心丨vk| 亚洲小说欧美激情另类| av电影在线观看一区| 精品久久久久久久久久久久久久久久久| 悠悠色在线精品| 高清不卡在线观看av| 精品美女在线播放| 91.成人天堂一区| 亚洲综合在线五月| 成人污污视频在线观看| 国产婷婷一区二区| 狠狠色丁香九九婷婷综合五月| 欧美日韩一区二区在线观看视频| 国产精品丝袜久久久久久app| 韩国v欧美v日本v亚洲v| 日韩女优视频免费观看| 麻豆一区二区三区| 在线免费观看日韩欧美| 亚洲欧美另类在线| 99精品黄色片免费大全| 国产精品国模大尺度视频| 国产v综合v亚洲欧| 国产精品美女久久久久aⅴ国产馆| 韩日欧美一区二区三区| 久久久久国产一区二区三区四区 | 在线不卡的av| 亚洲国产aⅴ成人精品无吗| 91国偷自产一区二区开放时间| 专区另类欧美日韩| 在线观看日韩电影| 亚洲成人资源网| 欧美精品日日鲁夜夜添| 青青草成人在线观看| 日韩欧美国产精品一区| 久久精品国产秦先生| 精品sm捆绑视频| 国产美女av一区二区三区| 久久精品在线观看| 成人激情视频网站| 亚洲欧美日韩人成在线播放| 91国模大尺度私拍在线视频| 亚洲成人免费看| 国产视频一区二区三区在线观看| 成人不卡免费av| 亚洲一区二区三区不卡国产欧美| 欧美一区二区三区视频免费 | 亚洲国产aⅴ天堂久久| 欧美一区二区三区啪啪| 国产在线一区二区| 国产精品久久久久久久蜜臀| 欧美羞羞免费网站| 精品影院一区二区久久久| 亚洲欧洲日韩综合一区二区| 在线观看av一区二区| 麻豆专区一区二区三区四区五区| 欧美国产成人精品| 在线亚洲一区观看| 狠狠色狠狠色综合| 成人免费在线视频| 这里只有精品免费| 成人午夜视频免费看| 亚洲午夜久久久久久久久电影院| 日韩精品一区二区三区在线| 不卡的av网站| 蜜臀精品一区二区三区在线观看 | 一区二区三区91| 精品国产制服丝袜高跟| 欧日韩精品视频| 丰满白嫩尤物一区二区| 日欧美一区二区| 国产精品国产三级国产aⅴ入口| 欧美欧美欧美欧美| 成人久久18免费网站麻豆| 日一区二区三区| 中文字幕在线不卡视频| 精品国产乱码久久久久久久久| av在线不卡电影| 国产综合色在线| 91色在线porny| 91福利国产成人精品照片| 精品写真视频在线观看| 亚洲成人免费av| 国产精品国产三级国产有无不卡 | 青娱乐精品在线视频| 中文字幕综合网| 久久精品在这里| 日韩欧美国产成人一区二区| 欧美日韩精品一二三区| 99热99精品| 国产mv日韩mv欧美| 激情综合网最新| 日韩成人免费看| 一区二区三区在线观看国产 | 精品电影一区二区| 欧美日产国产精品| 欧美色国产精品| 91老师国产黑色丝袜在线| 成人av网址在线| 不卡在线视频中文字幕| 成人午夜又粗又硬又大| 高清免费成人av| 成人午夜av电影| 粉嫩一区二区三区性色av| 国产一区二区影院| 久久精品国产第一区二区三区| 日韩激情视频在线观看| 日韩国产欧美在线视频| 日本欧美在线观看| 久久91精品久久久久久秒播| 精品一区二区在线观看| 国产一区二区三区| 国产一区二区三区综合| 国产精品99久久不卡二区| 国产成人av资源| av在线一区二区三区| 在线一区二区观看| 337p亚洲精品色噜噜噜| 日韩视频一区二区三区| 欧美精品一区二| 国产精品麻豆视频| 亚洲精品日韩专区silk| 亚洲综合免费观看高清在线观看| 亚洲国产精品影院| 久久精品国产色蜜蜜麻豆| 国产福利精品导航| 欧洲国内综合视频| 91精品国产aⅴ一区二区| 精品国产一区二区三区四区四| www欧美成人18+| 亚洲欧美一区二区三区久本道91 | 欧美三区免费完整视频在线观看| 欧美日韩不卡视频| 久久综合国产精品| 成人欧美一区二区三区在线播放| 综合久久久久久| 日本视频中文字幕一区二区三区| 国产高清一区日本| 欧美亚洲日本一区| 欧美精品一区二区久久久| 中文av一区特黄| 日日夜夜精品视频免费| 国产不卡视频在线播放| 在线观看精品一区| 国产精品久久久久久亚洲伦| 亚洲福中文字幕伊人影院| 国产九色精品成人porny| 在线观看视频欧美| 久久综合网色—综合色88| 一区二区三区精品| 国产成人免费在线| 欧美日韩成人高清| 亚洲欧洲精品一区二区三区| 老司机精品视频线观看86| 一本大道久久a久久综合婷婷 | 中文字幕第一区第二区| 亚洲国产成人av网| 99久久夜色精品国产网站| 欧美一区二区性放荡片| 亚洲图片激情小说| 激情文学综合丁香| 91精品国产综合久久精品麻豆| 国产精品护士白丝一区av| 经典三级一区二区| 欧美年轻男男videosbes| 亚洲另类在线视频| 成人免费看黄yyy456| 欧美美女喷水视频| 亚洲欧美激情小说另类| 成人精品小蝌蚪| 久久只精品国产| 国产在线视频精品一区| 日韩欧美电影一二三| 午夜精品视频在线观看| 色94色欧美sute亚洲线路一ni | 久久综合久久久久88| 秋霞电影网一区二区| 欧美日韩美少妇| 一二三四区精品视频| 色菇凉天天综合网| 国产精品久久久久三级| 成人一区二区三区中文字幕| 欧美精品一区二区三区蜜臀| 久久国产尿小便嘘嘘| 欧美一区二区在线免费观看| 午夜日韩在线电影| 欧美日韩性生活| 日韩av高清在线观看| 日韩美女一区二区三区| 久久99热国产| 久久久久久日产精品| 丁香啪啪综合成人亚洲小说|