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

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

?? time_manager.f90

?? CCSM Research Tools: Community Atmosphere Model (CAM)
?? F90
?? 第 1 頁 / 共 3 頁
字號:
      day,   &! day of month      tod     ! time of day (seconds past 0Z)! Local variables   character(len=*), parameter :: sub = 'get_start_date'   integer :: rc   type(esmf_date) :: date   integer :: ymd!-----------------------------------------------------------------------------------------   date = esmf_timemgrgetstartdate(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetstartdate')   call esmf_dateget(date, ymd, tod, rc)   call chkrc(rc, sub//': error return from esmf_dateget')   yr = ymd/10000   mon = mod(ymd, 10000) / 100   day = mod(ymd, 100)end subroutine get_start_date!=========================================================================================subroutine get_ref_date(yr, mon, day, tod)! Return date components of the reference date.   implicit none   ! Arguments   integer, intent(out) ::&      yr,    &! year      mon,   &! month      day,   &! day of month      tod     ! time of day (seconds past 0Z)! Local variables   character(len=*), parameter :: sub = 'get_ref_date'   integer :: rc   type(esmf_date) :: date   integer :: ymd!-----------------------------------------------------------------------------------------   date = esmf_timemgrgetbasedate(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetbasedate')   call esmf_dateget(date, ymd, tod, rc)   call chkrc(rc, sub//': error return from esmf_dateget')   yr = ymd/10000   mon = mod(ymd, 10000) / 100   day = mod(ymd, 100)end subroutine get_ref_date!=========================================================================================subroutine get_curr_time(days, seconds)! Return time components valid at end of current timestep.! Current time is the time interval between the current date and the reference date.   implicit none   ! Arguments   integer, intent(out) ::&      days,   &! number of whole days in time interval      seconds  ! remaining seconds in time interval! Local variables   character(len=*), parameter :: sub = 'get_curr_time'   integer :: rc   type(esmf_date) :: cdate, rdate   type(esmf_time) :: diff   logical :: islater!-----------------------------------------------------------------------------------------   cdate = esmf_timemgrgetcurrdate(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetcurrdate')   rdate = esmf_timemgrgetbasedate(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetbasedate')   call esmf_datediff(rdate, cdate, diff, islater, rc)   call chkrc(rc, sub//': error return from esmf_datediff')   call esmf_timeget(diff, days, seconds, rc)   call chkrc(rc, sub//': error return from esmf_timeget')end subroutine get_curr_time!=========================================================================================function get_curr_calday(offset)! Return calendar day at end of current timestep with optional offset.! Calendar day 1.0 = 0Z on Jan 1.   implicit none   ! Arguments   integer, optional, intent(in) :: offset  ! Offset from current time in seconds.                                            ! Positive for future times, negative                                             ! for previous times.! Return value   real(r8) :: get_curr_calday! Local variables   character(len=*), parameter :: sub = 'get_curr_calday'   integer :: rc   type(esmf_date) :: date   type(esmf_time) :: off   integer :: ymd, tod!-----------------------------------------------------------------------------------------   date = esmf_timemgrgetcurrdate(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetcurrdate')   if (present(offset)) then      if (offset > 0) then         date = esmf_dateincrementsec(date, offset, rc)         call chkrc(rc, sub//': error incrementing current date')      else if (offset < 0) then         off = esmf_timeinit(0, -offset, rc)         call chkrc(rc, sub//': error setting offset time type')         date = esmf_datedecrement(date, off, rc)         call chkrc(rc, sub//': error decrementing current date')      end if   end if   if ( tm_perp_calendar ) then      call esmf_dateget(date, ymd, tod, rc)      call chkrc(rc, sub//': error return from esmf_dateget')      date = esmf_dateincrementsec(tm_perp_date, tod, rc)      call chkrc(rc, sub//': error return from esmf_dateincrementsec')   end if   get_curr_calday = esmf_dategetfltdayofyear(date, rc)   call chkrc(rc, sub//': error return from esmf_dategetfltdayofyear')end function get_curr_calday!=========================================================================================function is_end_curr_day()! Return true if current timestep is last timestep in current day.   implicit none   ! Return value   logical :: is_end_curr_day! Local variables   integer ::&      yr,    &! year      mon,   &! month      day,   &! day of month      tod     ! time of day (seconds past 0Z)!-----------------------------------------------------------------------------------------   call get_curr_date(yr, mon, day, tod)   is_end_curr_day = (tod == 0)end function is_end_curr_day!=========================================================================================function is_end_curr_month()! Return true if current timestep is last timestep in current month.   implicit none   ! Return value   logical :: is_end_curr_month! Local variables   integer ::&      yr,    &! year      mon,   &! month      day,   &! day of month      tod     ! time of day (seconds past 0Z)!-----------------------------------------------------------------------------------------   call get_curr_date(yr, mon, day, tod)   is_end_curr_month = (day == 1  .and.  tod == 0)end function is_end_curr_month!=========================================================================================function is_first_step()! Return true on first step of initial run only.   implicit none   ! Return value   logical :: is_first_step! Local variables   character(len=*), parameter :: sub = 'is_first_step'   integer :: rc   integer :: nstep!-----------------------------------------------------------------------------------------   nstep = esmf_timemgrgetnstep(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrgetnstep')   is_first_step = (nstep == 0)end function is_first_step!=========================================================================================function is_first_restart_step()! Return true on first step of restart run only.   implicit none   ! Return value   logical :: is_first_restart_step!-----------------------------------------------------------------------------------------   is_first_restart_step = tm_first_restart_stepend function is_first_restart_step!=========================================================================================function is_last_step()! Return true on last timestep.   implicit none   ! Return value   logical :: is_last_step! Local variables   character(len=*), parameter :: sub = 'is_last_step'   integer :: rc!-----------------------------------------------------------------------------------------   is_last_step = esmf_timemgrlaststep(tm_id, rc)   call chkrc(rc, sub//': error return from esmf_timemgrlaststep')end function is_last_step!=========================================================================================function is_perpetual()! Return true on last timestep.   implicit none   ! Return value   logical :: is_perpetual!-----------------------------------------------------------------------------------------   is_perpetual = tm_perp_calendarend function is_perpetual!=========================================================================================subroutine timemgr_write_restart(ftn_unit)! Write information needed on restart to a binary Fortran file.! It is assumed that this routine is called only from the master proc if in SPMD mode.   implicit none! Arguments   integer, intent(in) :: ftn_unit  ! Fortran unit number! Local variables   character(len=*), parameter :: sub = 'timemgr_write_restart'   integer :: rc   ! return code   integer :: tod!-----------------------------------------------------------------------------------------   call esmf_timemgrrestartwrite(tm_id, rst_type, rst_nstep, rst_step_days, rst_step_sec, &                                rst_start_ymd, rst_start_tod, rst_stop_ymd, rst_stop_tod, rst_ref_ymd, &                                rst_ref_tod, rst_curr_ymd, rst_curr_tod, rc)   call chkrc(rc, sub//': error return from esmf_timemgrrestartwrite')   if ( tm_perp_calendar ) then      call esmf_dateget(tm_perp_date, rst_perp_ymd, tod, rc)      call chkrc(rc, sub//': error return from esmf_dateget')      rst_perp_cal = tm_perp_calendar   end if   write(ftn_unit, iostat=rc) rst_type, rst_nstep, rst_step_days, rst_step_sec, &                              rst_start_ymd, rst_start_tod, rst_stop_ymd, rst_stop_tod, rst_ref_ymd, &                              rst_ref_tod, rst_curr_ymd, rst_curr_tod, rst_perp_ymd, rst_perp_cal   if (rc /= 0 ) then      write (6,*) 'WRITE iostat= ',rc,' on i/o unit = ',ftn_unit      call endrun   end ifend subroutine timemgr_write_restart!=========================================================================================subroutine timemgr_read_restart(ftn_unit)! Read information needed to restart from a binary Fortran file.! It is assumed that this routine is called only from the master proc if in SPMD mode.   implicit none! Arguments   integer, intent(in) :: ftn_unit  ! Fortran unit number! Local variables   character(len=*), parameter :: sub = 'timemgr_read_restart'   integer :: rc   ! return code!-----------------------------------------------------------------------------------------   read(ftn_unit, iostat=rc) rst_type, rst_nstep, rst_step_days, rst_step_sec, &                             rst_start_ymd, rst_start_tod, rst_stop_ymd, rst_stop_tod, rst_ref_ymd, &                             rst_ref_tod, rst_curr_ymd, rst_curr_tod, rst_perp_ymd, rst_perp_cal   if (rc /= 0 ) then      write (6,*) 'READ iostat= ',rc,' on i/o unit = ',ftn_unit      call endrun   end ifend subroutine timemgr_read_restart!=========================================================================================subroutine chkrc(rc, mes)   implicit none   integer, intent(in)          :: rc   ! return code from time management library   character(len=*), intent(in) :: mes  ! error message   if ( rc == esmf_success ) return   write(6,*) mes   call esmf_errprint(rc)   call endrunend subroutine chkrcend module time_manager

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二三区| 日韩精品专区在线影院重磅| 国产精品69毛片高清亚洲| 热久久免费视频| 日本一区中文字幕| 日本不卡一二三区黄网| 毛片不卡一区二区| 麻豆精品在线观看| 久久精品久久精品| 国产真实乱子伦精品视频| 精品写真视频在线观看| 精品一区二区三区影院在线午夜| 亚洲aⅴ怡春院| 国产精品美日韩| 久久久久久久综合| 精品成人免费观看| 精品乱码亚洲一区二区不卡| 欧美一二三区精品| 精品欧美一区二区三区精品久久| 欧美一区二区免费| 日韩一区二区三区在线| 欧美一区二区三区电影| 日韩一区二区不卡| 欧美sm美女调教| 欧美电影免费观看高清完整版在 | 欧美少妇一区二区| 91黄色激情网站| 日本道精品一区二区三区| 在线观看亚洲精品| 欧美私人免费视频| 欧美一区二区在线不卡| 91精品国产综合久久久久久久久久| 欧美三电影在线| 欧美精品久久久久久久多人混战| 欧美日韩成人激情| 日韩免费看网站| 精品国产91洋老外米糕| 国产亚洲精品福利| 亚洲欧洲精品天堂一级| 亚洲免费成人av| 日韩专区一卡二卡| 国内外成人在线| 成av人片一区二区| 色狠狠色狠狠综合| 日韩午夜在线观看| 国产欧美一区二区三区沐欲| 国产精品乱码妇女bbbb| 亚洲精品一二三| 日韩在线播放一区二区| 久久福利视频一区二区| 国内精品第一页| 成人精品一区二区三区中文字幕| 色94色欧美sute亚洲线路一久| 欧美日韩国产片| 久久免费电影网| 亚洲欧美另类在线| 日本不卡免费在线视频| 国产成人自拍在线| 欧美偷拍一区二区| 精品国产免费视频| 亚洲欧美日韩国产综合在线| 日韩成人免费电影| 粉嫩av一区二区三区在线播放| 色欲综合视频天天天| 日韩欧美不卡在线观看视频| 国产精品视频一二三区| 午夜精品久久久久久久99樱桃| 国产综合一区二区| 91色九色蝌蚪| 日韩精品一区二区三区在线观看| 国产精品福利一区| 麻豆精品久久精品色综合| eeuss鲁片一区二区三区| 欧美男男青年gay1069videost | 91国内精品野花午夜精品 | 亚洲另类色综合网站| 美女看a上一区| 91色视频在线| 精品国产第一区二区三区观看体验 | 91麻豆精品国产91久久久久| 久久精品人人做人人综合| 亚洲一区二区中文在线| 国产精品一区二区在线观看不卡 | 91麻豆精品国产91久久久 | 精品国产乱码久久久久久浪潮 | 18涩涩午夜精品.www| 亚洲福利视频导航| 成人性生交大合| 日韩女优电影在线观看| 亚洲资源在线观看| 国产福利一区二区三区视频| 337p亚洲精品色噜噜狠狠| 国产精品亲子乱子伦xxxx裸| 九九精品一区二区| 欧美日韩国产天堂| 亚洲乱码国产乱码精品精小说 | 中文字幕免费不卡| 麻豆精品一区二区| 欧美日韩美少妇| 亚洲精品免费在线观看| 国产不卡视频一区二区三区| 日韩视频在线永久播放| 一区二区三区四区不卡在线| 丰满放荡岳乱妇91ww| 久久久久99精品一区| 日本不卡一二三| 欧美精三区欧美精三区| 亚洲综合无码一区二区| av成人老司机| 国产日韩欧美不卡在线| 国产一区二区视频在线播放| 精品日韩在线观看| 老司机午夜精品99久久| 4438x亚洲最大成人网| 亚洲bdsm女犯bdsm网站| 欧美色综合天天久久综合精品| 亚洲精品美国一| 色综合天天做天天爱| 一区二区在线观看免费| 91在线你懂得| 亚洲天堂网中文字| 色狠狠色噜噜噜综合网| 一区二区成人在线| 日本高清不卡视频| 亚洲午夜一区二区三区| 欧美亚洲禁片免费| 婷婷综合五月天| 欧美老肥妇做.爰bbww| 性做久久久久久| 欧美疯狂做受xxxx富婆| 青青草一区二区三区| 日韩精品一区二区三区四区视频| 久久99国产精品免费网站| 久久久久久免费毛片精品| 国产大陆亚洲精品国产| 中文字幕第一区第二区| 91在线视频免费观看| 一区二区三区日韩欧美| 精品视频资源站| 日韩精品亚洲专区| 欧美成人精品3d动漫h| 国产麻豆9l精品三级站| 国产精品视频免费| 91成人国产精品| 日韩在线观看一区二区| 精品国产乱子伦一区| 国产suv精品一区二区6| 亚洲色图视频网站| 欧美日韩高清一区二区不卡 | 色婷婷av一区二区三区大白胸| 一区二区三区小说| 91精品在线免费| 国产一区二区三区免费| 国产精品日韩成人| 欧美日韩国产综合久久| 久88久久88久久久| 一色屋精品亚洲香蕉网站| 欧美日韩精品专区| 国产综合久久久久久鬼色| 中文字幕在线观看不卡| 欧美四级电影网| 黑人巨大精品欧美黑白配亚洲| 国产精品女主播av| 色婷婷综合中文久久一本| 美女高潮久久久| 国产精品理伦片| 欧美一区2区视频在线观看| 风流少妇一区二区| 亚洲成人免费av| 国产日本亚洲高清| 欧美日韩一区久久| 国产综合一区二区| 亚洲综合色婷婷| 久久久蜜桃精品| 欧美性极品少妇| 国产成人啪免费观看软件 | 精品国产伦理网| 色天天综合色天天久久| 国内久久精品视频| 亚洲一级二级三级| 国产欧美中文在线| 欧美精品日日鲁夜夜添| 成人短视频下载| 美女视频黄 久久| 亚洲最色的网站| 国产欧美日韩视频在线观看| 91麻豆精品国产| 色88888久久久久久影院野外| 韩国视频一区二区| 亚洲第一成人在线| 中文字幕一区二区三区在线播放| 精品久久久久av影院| 欧美一区二区三区啪啪| 91香蕉视频污在线| 国产成人丝袜美腿| 精品一区二区三区香蕉蜜桃| 亚洲电影第三页| 日韩理论片在线| 欧美国产日韩精品免费观看| 精品免费日韩av|