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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? histfilemod.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 5 頁
字號:
#include <misc.h>#include <preproc.h>module histFileMod  use precision  use clmtype  use clm_varpar       !parameters  use clm_varmap       !mapping variables  use shr_const_mod, only: SHR_CONST_CDAY  use fileutils, only : get_filename  implicit none!----------------------------------------------------------------------------! Creating a netCDF dataset is a two phase process in which (1) dimensions! and variables are first defined (define mode), but can not read or write! data, and (2) variables are written (data mode), but can not create new! dimensions or variables. The general netCDF calling sequence to do this is:!!            - nf_create     !create dataset: enter define mode  -!            |    nf_def_dim !define dimensions                  |! define mode|    nf_def_var !define variables and set id's      | histcrt!            |    nf_put_att !assign attributes to variables     |!            - nf_enddef     !end definitions: leave define mode -! data mode  |    nf_put_var !provide values for variables       | histwrt!            | nf_close      !close: save dataset                | histcls!! There is one call to nf_def_dim for each dimension! There is one call to nf_def_var for each variable! There is one call to nf_put_att for each attribute for each variable! There is one call to nf_put_var for each variable!! Subroutine histcrt creates a netCDF dataset and creates dimensions/variables! Subroutine histwrt writes data values to a netCDF dataset! Subroutine histcls closes a netCDF dataset!! Every file that references a netCDF function must have the ! include statement: include 'netcdf.inc'!! netCDF datasets -!    o referenced by a dataset id that is obtained when the!      dataset is first created or opened!    o nf_create (fname, nf_clobber, ncid): creates a new netCDF data file!      with name [fname], overwritting if already exists, and returning!      a dataset id [ncid] that is used to refer to dataset in other!      netCDF function calls!    o nf_open (fname, nf_nowrite, ncid): opens existing netCDF file!      [fname] in read mode only, returning id [ncid]!    o nf_enddef (ncid): takes open netCDF dataset, referenced by [ncid],!      out of define mode!    o nf_close (ncid): closes an open netCDF dataset, referenced by [ncid]!! netCDF dimensions -!    o has both a name and a length!    o one dimension in the dataset can have length unlimited (e.g., time!      dimension can be unlimited to have multiple time slices in dataset)!! netCDF variables -!    o A netCDF variable has a name, type [nf_char, nf_int, nf_float, !      nf_double], shape (dimension), and attributes (e.g., long name, units).!      These are specified when the variable is defined. A variable also!      has values, which are specified in data mode. !    o A netCDF variable is referenced by an integer variable (1,2,3,...),!      which is in the order in which the variables are defined!    o Character string is treated as an array of characters!    o A coordinate variable is a special netCDF variable that has the!      same name as a dimensions (e.g., lat(lat), lon(lon)). It is used!      by some appication packages to define the physical coordinate!      corresponding to that dimension!    o Variables are dimensioned in Fortran opposite of how listed!      in netCDF file, e.g.:!               Fortran             netCDF!              --------------    --------------!              x(lon,lat)     -> x(lat,lon)!              x(lon,lat,lev) -> x(lev,lat,lon)!              x(lon,lat,tim) -> x(tim,lat,lon)!! netCDF functions used:!    o nf_create       (fname, nf_clobber, ncid)!    o nf_def_dim      (ncid, dimnam, dimlen, dimid)!    o nf_def_var      (ncid, varnam, vartyp, ndim, vdim, varid)!    o nf_put_att_text (ncid, varid, attnam, len, text)!    o nf_put_att_real (ncid, varid, attnam, vartyp, len, attval)!    o nf_enddef       (ncid)!!    character fname  - netCDF dataset name!    'nf_clobber'     - overwrite existing file!    integer   ncid   - returned netCDF dataset id!    character dimnam - dimension name !    character dimid  - associated dimension id !    character dimlen - dimension length !    character varnam - variable name !    integer   varid  - associated netCDF variable id!              varytp - 'nf_int', 'nf_float', 'nf_double'!    integer   ndim   - number of dimensions: 0 - scalar. 1 - vector!    integer   vdim   - vector of ndim dimension id's corresponding to !                       the variables dimensions!    character attnam - character attribute name (e.g., 'units')!    character text   - attribute text!    integer   len    - length of attribute text or attribute array!    real      attval - array of len attribute values!----------------------------------------------------------------------------! $Id: histFileMod.F90,v 1.19.6.6.6.1 2002/05/13 19:25:04 erik Exp $!-----------------------------------------------------------------------! History file parameters  real(r8), public, parameter :: spval = 1.e36     !special value for fill value! History file structures    type histentry     logical           :: active(maxflds)         !true => field is active     character(len= 8) :: name(maxflds)           !field name     character(len= 8) :: unit(maxflds)           !field units     character(len= 8) :: levl(maxflds)           !field levels: single level, multi soil     character(len= 8) :: type(maxflds)           !field time accumulation type: inst, maxi, mini, aver     character(len=40) :: desc(maxflds)           !field description  end type histentry  type singl_level     integer           :: num(maxhist)               !number of active single-level fields     character(len= 8) :: nam(max_slevflds,maxhist)  !single-level field: name     character(len= 8) :: uni(max_slevflds,maxhist)  !single-level field: units     character(len= 8) :: typ(max_slevflds,maxhist)  !time accumation type: ninst, nmaxi, nmini, naver     character(len=40) :: des(max_slevflds,maxhist)  !description of single-level fields     integer , pointer :: count(:,:,:)               !number accumulations, single-level field     real(r8), pointer :: value(:,:,:)               !accumulated single-lev field  end type singl_level  type multi_level     integer           :: num(maxhist)               !number of active multi-level fields     character(len= 8) :: nam(max_mlevflds,maxhist)  !multi-level field : name     character(len= 8) :: uni(max_mlevflds,maxhist)  !multi-level field : units     character(len= 8) :: typ(max_mlevflds,maxhist)  !time accumation type: ninst, nmaxi, nmini, naver     character(len=40) :: des(max_mlevflds,maxhist)  !description of multi-level fields     integer , pointer :: count(:,:,:,:)             !number accumulations, mutli-level field      real(r8), pointer :: value(:,:,:,:)             !accumulated multi-lev field  end type multi_level! History file variables  integer :: nhist                     !actual number of history files  integer :: ncid(maxhist)             !netCDF id from nf_open or nf_create  logical :: ncgetid(maxhist)          !true: need to get netCDF variable id's (masterproc only)  logical :: ehi(maxhist)              !true: current nstep is end of history interval  integer :: ntim(maxhist)             !current number of time samples for history file  integer :: nbeghis(maxhist)          !nbeghis=1:current nstep begins history interval  character(len=80), public :: timcom(maxhist)           !comment: start and end of history interval   character(len= 8), public :: fldaux(maxalflds,maxhist) !fields for auxillary history files! History field level types  type(singl_level) :: slfld                      !history file  type(multi_level) :: mlsoifld                   !history file  character(len= 8) :: nsing = 'sing-lev'         !single-level field  character(len= 8) :: nsoil = 'mlev_soi'         !multi-level soil field! History field time accumulation types  character(len= 8) :: naver = 'average'          !average field over history interval  character(len= 8) :: nmaxi = 'maximum'          !max field value over history interval  character(len= 8) :: nmini = 'minimum'          !min field value over history interval  character(len= 8) :: ninst = 'instant'          !instantaneous field value  character(len= 8) :: ncnst = 'constnt'          !instantaneous field value! History file grid variable id's  integer :: lonvar_id(maxhist)        !id full grid longitude coordinate variable  integer :: latvar_id(maxhist)        !id full grid latitude  coordinate variable  integer :: levvar_id(maxhist)        !id soil level coordinate variable  integer :: timvar_id(maxhist)        !id timecoordinate variable  integer :: longxy_id(maxhist)        !id 2d longitudes (longxy)  integer :: latixy_id(maxhist)        !id 2d latitudes (latixy)  integer :: area_id(maxhist)          !id 2d area (area)  integer :: landfrac_id(maxhist)      !id 2d land fraction  integer :: numlon_id(maxhist)        !id number of longitudes at each latitude  integer :: landmask_id(maxhist)      !id 2d land/ocean mask (landmask)#if (defined OFFLINE)  integer :: edgen_id(maxhist)         !id northern edge of grid (lsmedge(1))  integer :: edgee_id(maxhist)         !id eastern  edge of grid (lsmedge(2))  integer :: edges_id(maxhist)         !id southern edge of grid (lsmedge(3))  integer :: edgew_id(maxhist)         !id western  edge of grid (lsmedge(4))#endif! History file time variant variable id's  integer :: slfld_id(max_slevflds,maxhist)    !id single-level fields (slfld%value)  integer :: mlsoifld_id(max_mlevflds,maxhist) !id multi-level fields (mlsoifld%value)  integer :: mcdate_id(maxhist)                !id current date, yyyymmdd format (mcdate)  integer :: mcsec_id(maxhist)                 !id current seconds in day (mcsec)  integer :: mdcur_id(maxhist)                 !id current day (from base day) (mdcur)  integer :: mscur_id(maxhist)                 !id current seconds of current day (mdcur)  integer :: nstep_id(maxhist)                 !id current nstep   integer :: timcom_id(maxhist)                !id time comment (timcom)  SAVE!=======================================================================CONTAINS!=======================================================================  subroutine histini ()!----------------------------------------------------------------------- ! ! Purpose: ! initialize variables for history files!! Method: ! ! Author: Gordon Bonan! !-----------------------------------------------------------------------    use clm_varctl    use spmdMod, only : masterproc! ------------------------ local variables ------------------------    integer :: i                   !loop index! -----------------------------------------------------------------    if (masterproc) then       write(6,*) 'Initializing variables for history files .....'       write(6,'(72a1)') ("-",i=1,60)    endif! -----------------------------------------------------------------! Initialize active history fields! -----------------------------------------------------------------    call histlst ! -----------------------------------------------------------------! Initialize variables for initial or branch runs! -----------------------------------------------------------------    if (nsrest==0 .or. nsrest==3) then! nbeghis = 1 indicates the current time step is start of a history! interval. This is part of the restart file if continuation run       nbeghis(:) = 1! Set accumulation counters to zero: only if current time step! start of history interval. Otherwise read in from restart file       slfld%count(:,:,:) = 0       mlsoifld%count(:,:,:,:) = 0!  Initialize local file name for history files       locfnh(:) = ' '! Set current number of time samples in history file and current ! history file counter       ntim(:) = 0! No need to obtain time dependent netCDF variable id's from history! file because a new history file will be created       ncgetid(:) = .false.    end if    if (masterproc) then       write(6,'(72a1)') ("-",i=1,60)       write(6,*) 'Successfully initialized history files'       write(6,*)    endif    return  end subroutine histini!=======================================================================  subroutine histlst !----------------------------------------------------------------------- ! ! Purpose: ! initialize active field list for history files!! Method: ! This subroutine sets for both primary and auxillary history files:!    o number      of active single-level and multi-level fields!    o names       of active single-level and multi-level fields!    o units       of active single-level and multi-level fields!    o type        of active single-level and multi-level fields!    o description of active single-level and multi-level fields!! The field types, which are set for each active field, are:!    o average over history interval!    o maximum in history interval!    o minimum in history interval!    o instantaneous when history file written!! Default inactive fields can be made active by setting the [hist_fldadd] ! variable to the appropriate field name via the namelist input!! Field type can be overridden by setting the [hist_chntyp] variable to the! appropriate field name and new field type via the namelist input!! Fields for auxillary files are read from namelist and must be! a subset of the primary history file fields! ! Author: Gordon Bonan! !-----------------------------------------------------------------------    use clm_varctl    use spmdMod, only : masterproc	! ------------------------ local variables ------------------------    integer :: i,j,k,n                      !indices    integer :: nflds = 0                    !number of declared fields (active+inactive)    integer :: nacti = 0                    !number of active fields    integer :: ind(maxflds)                 !index to active fields    type(histentry) histfld                 !primary field names    type(histentry) tempfld                 !temporary field name! -----------------------------------------------------------------! set default fields for primary history files:! snow properties (will be vertically averaged over the snow profile)    call histfldini(nflds, 'SNOWDP  ', 'm       ', nsing, naver,  &

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品电影在线观看| 看电视剧不卡顿的网站| 91精品欧美一区二区三区综合在 | 精品一区二区三区免费| 国产精品国产三级国产有无不卡| 欧美视频一区二区| 国产成人一区二区精品非洲| 亚洲va欧美va天堂v国产综合| 中文字幕+乱码+中文字幕一区| 欧美高清激情brazzers| 91网址在线看| 国产精品一区专区| 水蜜桃久久夜色精品一区的特点| 1区2区3区欧美| 国产欧美一区二区三区网站| 精品对白一区国产伦| 欧美色精品在线视频| 91蜜桃视频在线| 成人午夜激情片| 国产激情一区二区三区桃花岛亚洲| 日韩影院免费视频| 亚洲一区二区欧美| 亚洲三级久久久| 亚洲色图在线播放| 国产精品色眯眯| 久久久久久久久岛国免费| 欧美一区二区三区小说| 欧美日韩精品一区二区天天拍小说 | 欧美亚洲国产怡红院影院| 国产二区国产一区在线观看| 久久精品国产久精国产爱| 日本特黄久久久高潮| 亚洲国产另类精品专区| 午夜视频在线观看一区二区 | 亚欧色一区w666天堂| 亚洲精品国产a| 亚洲激情中文1区| 亚洲日本va午夜在线电影| 国产精品久久久久久久久免费相片 | 奇米777欧美一区二区| 婷婷成人激情在线网| 午夜欧美在线一二页| 一级精品视频在线观看宜春院 | 亚洲精品美腿丝袜| 亚洲精品乱码久久久久久黑人| 亚洲欧美自拍偷拍色图| 亚洲人成亚洲人成在线观看图片| 亚洲丝袜自拍清纯另类| 亚洲免费观看高清完整版在线观看| 亚洲色图欧美激情| 亚洲一区在线免费观看| 香蕉乱码成人久久天堂爱免费| 亚洲bt欧美bt精品777| 日韩电影一区二区三区| 精品中文字幕一区二区小辣椒| 国产一区视频导航| 成人av午夜电影| 在线欧美一区二区| 欧美精品123区| 亚洲精品一区二区三区99| 国产欧美一区视频| 亚洲精品高清在线观看| 欧美96一区二区免费视频| 精品制服美女久久| 99国产精品99久久久久久| 在线观看免费视频综合| 欧美一级黄色大片| 国产欧美日韩精品a在线观看| 亚洲色图都市小说| 日韩av网站在线观看| 国产suv一区二区三区88区| eeuss鲁一区二区三区| 欧美日韩久久久一区| 久久久国产精华| 亚洲制服丝袜av| 精品亚洲免费视频| 色综合久久中文字幕| 91精品欧美综合在线观看最新| 亚洲国产精品国自产拍av| 亚洲一区二区三区自拍| 国产在线播放一区三区四| 91网页版在线| 一本一本大道香蕉久在线精品| 91精品国产手机| 中文字幕色av一区二区三区| 日本不卡高清视频| 成人晚上爱看视频| 欧美精品777| 日韩理论片中文av| 激情综合五月天| 在线看日本不卡| 中文字幕va一区二区三区| 天天操天天色综合| av爱爱亚洲一区| 精品国产伦一区二区三区观看方式| 亚洲欧美激情一区二区| 国内成人精品2018免费看| 欧美性猛交xxxxxx富婆| 欧美激情综合五月色丁香| 免费成人美女在线观看.| 色婷婷一区二区三区四区| 久久女同精品一区二区| 婷婷国产在线综合| 色综合久久综合网欧美综合网| 久久精品人人做人人爽人人| 视频一区二区三区中文字幕| 97aⅴ精品视频一二三区| 久久久亚洲精品石原莉奈| 亚洲成人动漫在线免费观看| 色呦呦一区二区三区| 国产欧美日韩另类视频免费观看| 久久国产免费看| 欧美日产在线观看| 一区二区三区色| 99久久亚洲一区二区三区青草| 精品国产伦一区二区三区观看方式| 婷婷综合久久一区二区三区| 欧美主播一区二区三区| 国产精品国产三级国产普通话99 | 日韩精品亚洲一区| 91福利区一区二区三区| 国产精品高潮久久久久无| 国产经典欧美精品| 国产午夜精品一区二区三区视频 | 成人av资源在线| 国产无人区一区二区三区| 久久99精品国产麻豆婷婷洗澡| 制服丝袜在线91| 三级亚洲高清视频| 欧美影片第一页| 一区二区高清在线| 在线观看日韩一区| 亚洲国产美国国产综合一区二区| 欧美性猛片xxxx免费看久爱| 亚洲午夜免费福利视频| 欧美伊人久久久久久久久影院| 亚洲乱码中文字幕| 欧美亚洲一区二区在线观看| 亚洲一区二区欧美激情| 欧美日韩国产片| 蜜桃久久久久久| 精品久久久久久亚洲综合网| 国产综合色在线视频区| 久久久亚洲欧洲日产国码αv| 国产成人免费9x9x人网站视频| 国产色产综合产在线视频| 成人污污视频在线观看| 亚洲美女淫视频| 欧美日韩一区二区欧美激情| 婷婷丁香久久五月婷婷| 精品成人一区二区三区| 国产成人在线免费观看| 亚洲特黄一级片| 欧美日韩一级大片网址| 日韩国产高清在线| 久久亚洲一区二区三区四区| 粉嫩av一区二区三区| 依依成人精品视频| 91精品久久久久久久91蜜桃| 国产综合久久久久久鬼色 | 日韩欧美国产1| 国产精品中文欧美| 国产精品久久久久影院老司| 日本道免费精品一区二区三区| 亚洲电影一区二区三区| 欧美成人vps| 91尤物视频在线观看| 青青国产91久久久久久| 国产日产亚洲精品系列| 欧洲精品在线观看| 麻豆一区二区三区| 中文久久乱码一区二区| 欧美日韩亚洲综合一区二区三区| 久久99精品久久久久久久久久久久 | 国产一区二区不卡| 亚洲欧美日韩国产另类专区| 91精品蜜臀在线一区尤物| k8久久久一区二区三区 | 99国产精品久久久久| 秋霞电影一区二区| 中文字幕视频一区| 日韩精品中午字幕| 日本精品一区二区三区高清| 国内一区二区视频| 亚洲影院理伦片| 国产日韩视频一区二区三区| 欧美三级三级三级爽爽爽| 高清成人在线观看| 免费成人结看片| 一区二区欧美在线观看| 久久无码av三级| 欧美美女一区二区三区| 成人丝袜高跟foot| 激情五月婷婷综合| 亚洲国产日日夜夜| 综合色天天鬼久久鬼色| 精品国产免费人成在线观看| 欧美日韩高清不卡| 一本色道久久综合亚洲aⅴ蜜桃| 国产综合成人久久大片91|