45 module procedure hist_in_1d
46 module procedure hist_in_2d
47 module procedure hist_in_3d
55 end interface hist_put
58 module procedure hist_get_1d
61 end interface hist_get
71 private :: hist_put_axes
77 logical,
private :: enabled
78 integer,
private :: im, jm
79 integer,
private :: ims, ime
80 integer,
private :: jms, jme
103 character(len=H_MID) :: HISTORY_H_TITLE =
'SCALE-RM HISTORY OUTPUT' 104 character(len=H_SHORT) :: HISTORY_T_UNITS =
'seconds' 105 character(len=H_MID) :: HISTORY_T_SINCE =
'' 107 logical :: HIST_BND = .false.
109 namelist / param_hist / &
112 real(DP) :: start_daysec
113 integer :: rankidx(2)
118 if(
io_l )
write(
io_fid_log,*)
'++++++ Module[HISTORY] / Categ[ATMOS-RM IO] / Origin[SCALElib]' 124 if(
io_l )
write(
io_fid_log,*)
'*** Not found namelist. Default used.' 125 elseif( ierr > 0 )
then 126 write(*,*)
'xxx Not appropriate names in namelist PARAM_HIST. Check!' 138 write(history_t_since,
'(I4.4,5(A1,I2.2))') &
169 time_units = history_t_units, &
170 time_since = history_t_since, &
185 logical,
intent(in) :: switch
194 subroutine hist_put_axes
197 historyputassociatedcoordinates
252 real(RP) :: AXIS (im,jm,
kmax)
253 character(len=2) :: AXIS_name(3)
258 call historyputaxis(
'x',
'X',
'm',
'x',
grid_cx(ims:ime) )
259 call historyputaxis(
'y',
'Y',
'm',
'y',
grid_cy(jms:jme) )
260 call historyputaxis(
'z',
'Z',
'm',
'z',
grid_cz(
ks:
ke) )
261 call historyputaxis(
'xh',
'X (half level)',
'm',
'xh',
grid_fx(ims:ime) )
262 call historyputaxis(
'yh',
'Y (half level)',
'm',
'yh',
grid_fy(jms:jme) )
263 call historyputaxis(
'zh',
'Z (half level)',
'm',
'zh',
grid_fz(
ks:
ke) )
265 call historyputaxis(
'lz',
'LZ',
'm',
'lz',
grid_lcz(
lks:
lke), down=.true. )
266 call historyputaxis(
'lzh',
'LZ (half level)',
'm',
'lzh',
grid_lfz(
lks:
lke), down=.true. )
268 call historyputaxis(
'uz',
'UZ',
'm',
'uz',
grid_ucz(
uks:
uke), down=.true. )
269 call historyputaxis(
'uzh',
'UZ (half level)',
'm',
'uzh',
grid_ufz(
uks:
uke), down=.true. )
271 call historyputaxis(
'CZ',
'Atmos Grid Center Position Z',
'm',
'CZ',
grid_cz )
272 call historyputaxis(
'CX',
'Atmos Grid Center Position X',
'm',
'CX',
grid_cx )
273 call historyputaxis(
'CY',
'Atmos Grid Center Position Y',
'm',
'CY',
grid_cy )
274 call historyputaxis(
'FZ',
'Atmos Grid Face Position Z',
'm',
'FZ',
grid_fz )
275 call historyputaxis(
'FX',
'Atmos Grid Face Position X',
'm',
'FX',
grid_fx )
276 call historyputaxis(
'FY',
'Atmos Grid Face Position Y',
'm',
'FY',
grid_fy )
278 call historyputaxis(
'CDZ',
'Grid Cell length Z',
'm',
'CZ',
grid_cdz )
279 call historyputaxis(
'CDX',
'Grid Cell length X',
'm',
'CX',
grid_cdx )
280 call historyputaxis(
'CDY',
'Grid Cell length Y',
'm',
'CY',
grid_cdy )
281 call historyputaxis(
'FDZ',
'Grid distance Z',
'm',
'FDZ',
grid_fdz )
282 call historyputaxis(
'FDX',
'Grid distance X',
'm',
'FDX',
grid_fdx )
283 call historyputaxis(
'FDY',
'Grid distance Y',
'm',
'FDY',
grid_fdy )
285 call historyputaxis(
'LCZ',
'Land Grid Center Position Z',
'm',
'LCZ',
grid_lcz, down=.true. )
286 call historyputaxis(
'LFZ',
'Land Grid Face Position Z',
'm',
'LFZ',
grid_lfz, down=.true. )
287 call historyputaxis(
'LCDZ',
'Land Grid Cell length Z',
'm',
'LCZ',
grid_lcdz )
289 call historyputaxis(
'UCZ',
'Urban Grid Center Position Z',
'm',
'UCZ',
grid_ucz, down=.true. )
290 call historyputaxis(
'UFZ',
'Urban Grid Face Position Z',
'm',
'UFZ',
grid_ufz , down=.true. )
291 call historyputaxis(
'UCDZ',
'Urban Grid Cell length Z',
'm',
'UCZ',
grid_ucdz )
293 call historyputaxis(
'CBFZ',
'Boundary factor Center Z',
'1',
'CZ',
grid_cbfz)
294 call historyputaxis(
'CBFX',
'Boundary factor Center X',
'1',
'CX',
grid_cbfx)
295 call historyputaxis(
'CBFY',
'Boundary factor Center Y',
'1',
'CY',
grid_cbfy)
296 call historyputaxis(
'FBFZ',
'Boundary factor Face Z',
'1',
'CZ',
grid_fbfz)
297 call historyputaxis(
'FBFX',
'Boundary factor Face X',
'1',
'CX',
grid_fbfx)
298 call historyputaxis(
'FBFY',
'Boundary factor Face Y',
'1',
'CY',
grid_fbfy)
300 call historyputaxis(
'CXG',
'Grid Center Position X (global)',
'm',
'CXG',
grid_cxg)
301 call historyputaxis(
'CYG',
'Grid Center Position Y (global)',
'm',
'CYG',
grid_cyg)
302 call historyputaxis(
'FXG',
'Grid Face Position X (global)',
'm',
'FXG',
grid_fxg)
303 call historyputaxis(
'FYG',
'Grid Face Position Y (global)',
'm',
'FYG',
grid_fyg)
305 call historyputaxis(
'CBFXG',
'Boundary factor Center X (global)',
'1',
'CXG',
grid_cbfxg)
306 call historyputaxis(
'CBFYG',
'Boundary factor Center Y (global)',
'1',
'CYG',
grid_cbfyg)
307 call historyputaxis(
'FBFXG',
'Boundary factor Face X (global)',
'1',
'CXG',
grid_fbfxg)
308 call historyputaxis(
'FBFYG',
'Boundary factor Face Y (global)',
'1',
'CYG',
grid_fbfyg)
312 axis(1:im,1:jm,k) =
real_cz(k+
ks-1,ims:ime,jms:jme)
314 axis_name(1:3) = (/
'x ',
'y ',
'z '/)
315 call historyputassociatedcoordinates(
'height' ,
'height' , &
316 'm' , axis_name(1:3), axis(:,:,:) )
319 axis(1:im,1:jm,k) =
real_fz(k+
ks-1,ims:ime,jms:jme)
321 axis_name(1:3) = (/
'x ',
'y ',
'zh'/)
322 call historyputassociatedcoordinates(
'height_xyw' ,
'height (half level xyw)' , &
323 'm' , axis_name(1:3), axis(:,:,:) )
328 axis(i,j,k) = (
real_cz(k+
ks-1,ims+i-1,jms+j-1) +
real_cz(k+
ks-1,ims+i,jms+j-1) ) * 0.5_rp
334 axis(im,j,k) =
real_cz(k+
ks-1,ims+im-1,jms+j-1)
337 axis_name(1:3) = (/
'xh',
'y ',
'z '/)
338 call historyputassociatedcoordinates(
'height_uyz' ,
'height (half level uyz)' , &
339 'm' , axis_name(1:3), axis(:,:,:) )
344 axis(i,j,k) = (
real_cz(k+
ks-1,ims+i-1,jms+j-1) +
real_cz(k+
ks-1,ims+i-1,jms+j) ) * 0.5_rp
350 axis(i,jm,k) =
real_cz(k+
ks-1,ims+i-1,jms+jm-1)
353 axis_name(1:3) = (/
'x ',
'yh',
'z '/)
354 call historyputassociatedcoordinates(
'height_xvz' ,
'height (half level xvz)' , &
355 'm' , axis_name(1:3), axis(:,:,:) )
367 axis(i,jm,k) =
real_cz(k+
ks-1,ims+i-1,jms+jm-1)
372 axis(im,j,k) =
real_cz(k+
ks-1,ims+im-1,jms+j-1)
375 axis_name(1:3) = (/
'xh',
'yh',
'z '/)
376 call historyputassociatedcoordinates(
'height_uvz' ,
'height (half level uvz)' , &
377 'm' , axis_name(1:3), axis(:,:,:) )
382 axis(i,j,k) = (
real_fz(k+
ks-1,ims+i-1,jms+j-1) +
real_fz(k+
ks-1,ims+i,jms+j-1) ) * 0.5_rp
388 axis(im,j,k) =
real_fz(k+
ks-1,ims+im-1,jms+j-1)
391 axis_name(1:3) = (/
'xh',
'y ',
'zh'/)
392 call historyputassociatedcoordinates(
'height_uyw' ,
'height (half level uyw)' , &
393 'm' , axis_name(1:3), axis(:,:,:) )
398 axis(i,j,k) = (
real_fz(k+
ks-1,ims+i-1,jms+j-1) +
real_fz(k+
ks-1,ims+i-1,jms+j) ) * 0.5_rp
404 axis(i,jm,k) =
real_fz(k+
ks-1,ims+i-1,jms+jm-1)
407 axis_name(1:3) = (/
'x ',
'yh',
'zh'/)
408 call historyputassociatedcoordinates(
'height_xvw' ,
'height (half level xvw)' , &
409 'm' , axis_name(1:3), axis(:,:,:) )
421 axis(i,jm,k) =
real_fz(k+
ks-1,ims+i-1,jms+jm-1)
426 axis(im,j,k) =
real_fz(k+
ks-1,ims+im-1,jms+j-1)
429 axis_name(1:3) = (/
'xh',
'yh',
'zh'/)
430 call historyputassociatedcoordinates(
'height_uvw' ,
'height (half level uvw)' , &
431 'm' , axis_name(1:3), axis(:,:,:) )
433 axis(1:im,1:jm,1) =
real_lon(ims:ime,jms:jme) / d2r
434 axis_name(1:2) = (/
'x ',
'y '/)
435 call historyputassociatedcoordinates(
'lon' ,
'longitude' , &
436 'degrees_east' , axis_name(1:2), axis(:,:,1) )
438 axis(1:im,1:jm,1) =
real_lonx(ims:ime,jms:jme) / d2r
439 axis_name(1:2) = (/
'xh',
'y '/)
440 call historyputassociatedcoordinates(
'lon_uy',
'longitude (half level uy)', &
441 'degrees_east' , axis_name(1:2), axis(:,:,1) )
442 axis(1:im,1:jm,1) =
real_lony(ims:ime,jms:jme) / d2r
443 axis_name(1:2) = (/
'x ',
'yh'/)
444 call historyputassociatedcoordinates(
'lon_xv',
'longitude (half level xv)', &
445 'degrees_east' , axis_name(1:2), axis(:,:,1) )
446 axis(1:im,1:jm,1) =
real_lonxy(ims:ime,jms:jme) / d2r
447 axis_name(1:2) = (/
'xh',
'yh'/)
448 call historyputassociatedcoordinates(
'lon_uv',
'longitude (half level uv)', &
449 'degrees_east' , axis_name(1:2), axis(:,:,1) )
451 axis(1:im,1:jm,1) =
real_lat(ims:ime,jms:jme) / d2r
452 axis_name(1:2) = (/
'x ',
'y '/)
453 call historyputassociatedcoordinates(
'lat' ,
'latitude' , &
454 'degrees_north', axis_name(1:2), axis(:,:,1) )
456 axis(1:im,1:jm,1) =
real_latx(ims:ime,jms:jme) / d2r
457 axis_name(1:2) = (/
'xh',
'y '/)
458 call historyputassociatedcoordinates(
'lat_uy',
'latitude (half level uy)' , &
459 'degrees_north', axis_name(1:2), axis(:,:,1) )
460 axis(1:im,1:jm,1) =
real_laty(ims:ime,jms:jme) / d2r
461 axis_name(1:2) = (/
'x ',
'yh'/)
462 call historyputassociatedcoordinates(
'lat_xv',
'latitude (half level xv)' , &
463 'degrees_north', axis_name(1:2), axis(:,:,1) )
464 axis(1:im,1:jm,1) =
real_latxy(ims:ime,jms:jme) / d2r
465 axis_name(1:2) = (/
'xh',
'yh'/)
466 call historyputassociatedcoordinates(
'lat_uv',
'latitude (half level uv)' , &
467 'degrees_north', axis_name(1:2), axis(:,:,1) )
469 axis(1:im,1:jm,1) =
topo_zsfc(ims:ime,jms:jme)
470 axis_name(1:2) = (/
'x ',
'y '/)
471 call historyputassociatedcoordinates(
'topo',
'topography', &
472 'm', axis_name(1:2), axis(:,:,1) )
475 axis_name(1:2) = (/
'x ',
'y '/)
476 call historyputassociatedcoordinates(
'lsmask',
'fraction for land-sea mask', &
477 '0-1', axis_name(1:2), axis(:,:,1) )
480 end subroutine hist_put_axes
500 integer,
intent(out) :: itemid
501 logical,
intent(out) :: zinterp
502 character(len=*),
intent(in) :: item
503 character(len=*),
intent(in) :: desc
504 character(len=*),
intent(in) :: unit
505 integer,
intent(in) :: ndim
507 character(len=*),
intent(in),
optional :: xdim
508 character(len=*),
intent(in),
optional :: ydim
509 character(len=*),
intent(in),
optional :: zdim
516 character(len=H_SHORT) :: dims(3)
521 if ( ndim == 1 )
then 524 if (
present(zdim) )
then 525 if ( zdim==
'half' )
then 533 if (
present(xdim) )
then 534 if ( xdim==
'half' ) xh = .true.
537 if (
present(ydim) )
then 538 if ( ydim==
'half' ) yh = .true.
541 if ( xh .AND. yh )
then 544 dims(3) =
'height_uvz' 548 dims(3) =
'height_uyz' 552 dims(3) =
'height_xvz' 559 if (
present(zdim) )
then 560 if ( zdim==
'land' )
then 562 else if ( zdim==
'landhalf' )
then 564 else if ( zdim==
'urban' )
then 566 else if ( zdim==
'urbanhalf' )
then 568 else if ( zdim==
'half' )
then 569 if ( xh .AND. yh )
then 570 dims(3) =
'height_uvw' 572 dims(3) =
'height_uyw' 574 dims(3) =
'height_xvw' 576 dims(3) =
'height_xyw' 608 integer,
intent(in) :: itemid
609 logical,
intent(out) :: answer
615 if ( .NOT. enabled )
return 617 if ( itemid < 0 )
return 639 integer,
intent(in) :: itemid
640 real(RP),
intent(in) :: var
644 if ( .NOT. enabled )
return 646 if ( itemid < 0 )
return 668 integer,
intent(in) :: itemid
669 real(RP),
intent(in) :: var(:)
671 real(RP) :: var2(
kmax)
675 if ( .NOT. enabled )
return 677 if ( itemid < 0 )
return 682 var2(k) = var(
ks+k-1)
706 integer,
intent(in) :: itemid
707 real(RP),
intent(in) :: var(:,:)
709 logical,
intent(in),
optional :: nohalo
711 real(RP) :: var2(im*jm)
716 if ( .NOT. enabled )
return 718 if ( itemid < 0 )
return 724 var2(i + (j-1)*im) = var(ims+i-1,jms+j-1)
729 if (
present(nohalo) ) nohalo_ = nohalo
735 var2(i + (j-1)*im) =
rmiss 740 do i =
ie-ims+2, ime-ims+1
741 var2(i + (j-1)*im) =
rmiss 747 var2(i + (j-1)*im) =
rmiss 751 do j =
je-jms+2, jme-jms+1
753 var2(i + (j-1)*im) =
rmiss 786 integer,
intent(in) :: itemid
787 real(RP),
intent(in) :: var(:,:,:)
788 logical,
intent(in) :: zinterp
790 character(len=*),
intent(in),
optional :: xdim
791 character(len=*),
intent(in),
optional :: ydim
792 character(len=*),
intent(in),
optional :: zdim
793 logical,
intent(in),
optional :: nohalo
798 character(len=H_SHORT) :: xd, yd, zd
800 real(RP),
allocatable :: var_Z(:,:,:)
801 real(RP),
allocatable :: var2 (:)
804 integer :: isize, jsize, ksize
805 integer :: iall, jall, kall
806 integer :: istart, jstart, kstart
811 if ( .NOT. enabled )
return 813 if ( itemid < 0 )
return 820 if(
present(xdim) ) xd = xdim
821 if(
present(ydim) ) yd = ydim
822 if(
present(zdim) ) zd = zdim
825 if (
present(nohalo) ) nohalo_ = nohalo
856 allocate( var_z(kall,iall,jall) )
857 allocate( var2(ksize*isize*jsize) )
860 if ( s(1) == 1 )
then 864 var2(i + (j-1)*isize) = var(1,istart+i-1,jstart+j-1)
872 var2(i + (j-1)*isize) =
rmiss 877 do i =
ie-ims+2, ime-ims+1
878 var2(i + (j-1)*isize) =
rmiss 884 var2(i + (j-1)*isize) =
rmiss 888 do j =
je-jms+2, jme-jms+1
890 var2(i + (j-1)*isize) =
rmiss 895 call historyput(itemid,
time_nowstep, var2(1:isize*jsize))
909 var2(i + (j-1)*isize + (k-1)*jsize*isize) = var_z(kstart+k-1,istart+i-1,jstart+j-1)
917 var2(i + (j-1)*isize + (k-1)*jsize*isize) = var(kstart+k-1,istart+i-1,jstart+j-1)
928 var2(i + (j-1)*isize + (k-1)*jsize*isize) =
rmiss 935 do i =
ie-ims+2, ime-ims+1
936 var2(i + (j-1)*isize + (k-1)*jsize*isize) =
rmiss 944 var2(i + (j-1)*isize + (k-1)*jsize*isize) =
rmiss 950 do j =
je-jms+2, jme-jms+1
952 var2(i + (j-1)*isize + (k-1)*jsize*isize) =
rmiss 979 real(RP),
intent(in) :: var
980 character(len=*),
intent(in) :: item
981 character(len=*),
intent(in) :: desc
982 character(len=*),
intent(in) :: unit
989 if ( .NOT. enabled )
return 994 item, desc, unit, 0 )
1001 call hist_put( itemid, var )
1009 subroutine hist_in_1d( &
1017 real(RP),
intent(in) :: var(:)
1018 character(len=*),
intent(in) :: item
1019 character(len=*),
intent(in) :: desc
1020 character(len=*),
intent(in) :: unit
1022 character(len=*),
intent(in),
optional :: zdim
1024 character(len=H_SHORT) :: zd
1030 if ( .NOT. enabled )
return 1033 if(
present(zdim) ) zd = zdim
1037 item, desc, unit, 1, &
1044 call hist_put( itemid, var )
1048 end subroutine hist_in_1d
1052 subroutine hist_in_2d( &
1062 real(RP),
intent(in) :: var(:,:)
1063 character(len=*),
intent(in) :: item
1064 character(len=*),
intent(in) :: desc
1065 character(len=*),
intent(in) :: unit
1067 character(len=*),
intent(in),
optional :: xdim
1068 character(len=*),
intent(in),
optional :: ydim
1069 logical,
intent(in),
optional :: nohalo
1071 character(len=H_SHORT) :: xd, yd
1077 if ( .NOT. enabled )
return 1081 if(
present(xdim) ) xd = xdim
1082 if(
present(ydim) ) yd = ydim
1086 item, desc, unit, 2, &
1093 call hist_put( itemid, var, &
1098 end subroutine hist_in_2d
1102 subroutine hist_in_3d( &
1113 real(RP),
intent(in) :: var(:,:,:)
1114 character(len=*),
intent(in) :: item
1115 character(len=*),
intent(in) :: desc
1116 character(len=*),
intent(in) :: unit
1118 character(len=*),
intent(in),
optional :: xdim
1119 character(len=*),
intent(in),
optional :: ydim
1120 character(len=*),
intent(in),
optional :: zdim
1121 logical,
intent(in),
optional :: nohalo
1123 character(len=H_SHORT) :: xd, yd, zd
1129 if ( .NOT. enabled )
return 1134 if(
present(xdim) ) xd = xdim
1135 if(
present(ydim) ) yd = ydim
1136 if(
present(zdim) ) zd = zdim
1140 item, desc, unit, 3, &
1141 xdim=xd, ydim=yd, zdim=zd )
1147 call hist_put( itemid, var, zinterp, &
1148 xdim=xd, ydim=yd, zdim=zd, &
1153 end subroutine hist_in_3d
1157 subroutine hist_get_1d( &
1167 real(RP),
intent(out) :: var(:)
1168 character(len=*),
intent(in) :: basename
1169 character(len=*),
intent(in) :: varname
1170 integer,
intent(in) :: step
1172 logical,
intent(in),
optional :: allow_missing
1180 if(
present(allow_missing) ) am = allow_missing
1182 call historyget( var(:), &
1191 end subroutine hist_get_1d
1205 real(RP),
intent(out) :: var(:,:)
1206 character(len=*),
intent(in) :: basename
1207 character(len=*),
intent(in) :: varname
1208 integer,
intent(in) :: step
1210 logical,
intent(in),
optional :: allow_missing
1218 if(
present(allow_missing) ) am = allow_missing
1220 call historyget( var(:,:), &
1243 real(RP),
intent(out) :: var(:,:,:)
1244 character(len=*),
intent(in) :: basename
1245 character(len=*),
intent(in) :: varname
1246 integer,
intent(in) :: step
1248 logical,
intent(in),
optional :: allow_missing
1256 if(
present(allow_missing) ) am = allow_missing
1258 call historyget( var(:,:,:), &
integer, public imax
of computational cells: x
integer, public time_nowstep
current step [number]
integer, public is
start point of inner domain: x, local
integer, public je
end point of inner domain: y, local
subroutine, public hist_reg(itemid, zinterp, item, desc, unit, ndim, xdim, ydim, zdim)
Register/Append variable to history file.
real(rp), dimension(:), allocatable, public grid_cyg
center coordinate [m]: y, global
subroutine, public prc_mpistop
Abort MPI.
real(rp), dimension(:), allocatable, public grid_cbfyg
center buffer factor [0-1]: y, global
real(dp), public time_nowms
subsecond part of current time [millisec]
real(rp), dimension(:), allocatable, public grid_cxg
center coordinate [m]: x, global
real(rp), dimension(:), allocatable, public grid_fdy
y-length of grid(j+1) to grid(j) [m]
logical, public io_l
output log or not? (this process)
subroutine, public hist_switch(switch)
set switch
real(rp), dimension(:), allocatable, public grid_cz
center coordinate [m]: z, local=global
real(rp), dimension(:), allocatable, public grid_fxg
face coordinate [m]: x, global
real(rp), dimension(:), allocatable, public grid_fbfy
face buffer factor [0-1]: y
real(dp), public time_startdaysec
second of start time [sec]
integer, public ke
end point of inner domain: z, local
real(rp), dimension(:,:,:), allocatable, public real_fz
geopotential height [m] (cell face )
subroutine, public interp_vertical_xi2z(var, var_Z)
Reset random seed.
real(rp), dimension(:,:,:), allocatable, public real_cz
geopotential height [m] (cell center)
real(rp), public const_d2r
degree to radian
module GRID (cartesian) for land
subroutine hist_put_1d(itemid, var)
Put 1D data to history buffer.
subroutine hist_put_3d(itemid, var, zinterp, xdim, ydim, zdim, nohalo)
Put 3D data to history buffer.
real(rp), dimension(:), allocatable, public grid_fx
face coordinate [m]: x, local
real(rp), dimension(:), allocatable, public grid_lfz
face coordinate [m]: z, local=global
subroutine hist_in_0d(var, item, desc, unit)
Wrapper routine of HIST_reg+HIST_put 0D.
real(rp), dimension(:), allocatable, public grid_ucdz
z-length of control volume [m]
subroutine, public hist_query(itemid, answer)
Check time to putting data.
integer, public ia
of x whole cells (local, with HALO)
character(len=h_mid), public h_source
for file header
real(rp), dimension(:,:), allocatable, public real_latx
latitude at staggered point (uy) [rad,-pi,pi]
module GRID (cartesian) for urban
real(rp), dimension(:), allocatable, public grid_fbfx
face buffer factor [0-1]: x
real(rp), dimension(:), allocatable, public grid_fdz
z-length of grid(k+1) to grid(k) [m]
real(rp), dimension(:), allocatable, public grid_ufz
face coordinate [m]: z, local=global
real(dp), public time_dtsec
time interval of model [sec]
integer, public ka
of z whole cells (local, with HALO)
real(rp), dimension(:), allocatable, public grid_fbfxg
face buffer factor [0-1]: x, global
subroutine, public hist_write
Flush history buffer to file.
integer, public time_offset_year
time offset [year]
integer, public kmax
of computational cells: z
real(rp), dimension(:), allocatable, public grid_fz
face coordinate [m]: z, local=global
real(rp), dimension(:,:), allocatable, public real_lonxy
longitude at staggered point (uv) [rad,0-2pi]
subroutine hist_get_3d(var, basename, varname, step, allow_missing)
Get 3D data from file.
real(rp), dimension(:), allocatable, public grid_fbfz
face buffer factor [0-1]: z
subroutine hist_get_2d(var, basename, varname, step, allow_missing)
Get 2D data from file.
subroutine, public historyaddvariable(varname, dims, desc, units, now_step, id, zinterp, existed, options)
subroutine, public historyinit(title, source, institution, array_size, master, myrank, rankidx, time_start, time_interval, time_units, time_since, default_basename, default_tinterval, default_tunit, default_taverage, default_zinterp, default_datatype, namelist_filename, namelist_fid)
integer, public js
start point of inner domain: y, local
real(rp), dimension(:), allocatable, public grid_cbfx
center buffer factor [0-1]: x
real(rp), dimension(:), allocatable, public grid_fbfyg
face buffer factor [0-1]: y, global
real(rp), dimension(:), allocatable, public grid_ucz
center coordinate [m]: z, local=global
integer, parameter, public prc_masterrank
master process in each communicator
integer, public ks
start point of inner domain: z, local
real(rp), dimension(:), allocatable, public grid_cbfz
center buffer factor [0-1]: z
integer, public prc_myrank
process num in local communicator
real(rp), dimension(:), allocatable, public grid_cx
center coordinate [m]: x, local
subroutine, public prof_rapstart(rapname_base, level)
Start raptime.
subroutine, public hist_setup
Setup.
subroutine hist_put_0d(itemid, var)
Put 1D data to history buffer.
integer, public ie
end point of inner domain: x, local
real(rp), dimension(:), allocatable, public grid_lcdz
z-length of control volume [m]
character(len=h_mid), public h_institute
for file header
logical, public io_lnml
output log or not? (for namelist, this process)
real(rp), dimension(:,:), allocatable, public real_lon
longitude [rad,0-2pi]
logical, public interp_available
vertical interpolation is available? (have meaning?)
integer, dimension(:,:), allocatable, public prc_2drank
node index in 2D topology
real(rp), dimension(:,:), allocatable, public topo_zsfc
absolute ground height [m]
real(rp), dimension(:), allocatable, public grid_cdz
z-length of control volume [m]
subroutine, public historywriteall(step_now)
real(rp), dimension(:), allocatable, public grid_fdx
x-length of grid(i+1) to grid(i) [m]
real(rp), dimension(:), allocatable, public grid_lcz
center coordinate [m]: z, local=global
real(rp), dimension(:), allocatable, public grid_cdy
y-length of control volume [m]
real(rp), dimension(:), allocatable, public grid_cbfy
center buffer factor [0-1]: y
integer, dimension(6), public time_nowdate
current time [YYYY MM DD HH MM SS]
integer, public io_fid_conf
Config file ID.
real(rp), dimension(:,:), allocatable, public real_lat
latitude [rad,-pi,pi]
real(rp), dimension(:,:), allocatable, public real_lony
longitude at staggered point (xv) [rad,0-2pi]
integer, public io_fid_log
Log file ID.
subroutine, public prof_rapend(rapname_base, level)
Save raptime.
real(rp), dimension(:,:), allocatable, public real_latxy
latitude at staggered point (uv) [rad,-pi,pi]
real(rp), dimension(:,:), allocatable, public real_lonx
longitude at staggered point (uy) [rad,0-2pi]
real(rp), dimension(:), allocatable, public grid_cdx
x-length of control volume [m]
real(rp), dimension(:,:), allocatable, public landuse_frac_land
land fraction
integer, public jmax
of computational cells: y
subroutine, public historyquery(itemid, step_next, answer)
real(rp), dimension(:), allocatable, public grid_fyg
face coordinate [m]: y, global
real(rp), dimension(:), allocatable, public grid_cy
center coordinate [m]: y, local
subroutine hist_put_2d(itemid, var, nohalo)
Put 2D data to history buffer.
real(rp), dimension(:), allocatable, public grid_cbfxg
center buffer factor [0-1]: x, global
real(rp), dimension(:,:), allocatable, public real_laty
latitude at staggered point (xv) [rad,-pi,pi]
integer, public ja
of y whole cells (local, with HALO)
real(rp), dimension(:), allocatable, public grid_fy
face coordinate [m]: y, local