56 integer,
parameter :: mdlid =
iwrfarw 58 real(RP),
parameter :: t0 = 300.0_rp
59 real(RP),
parameter :: p0 = 1000.0e+2_rp
60 real(RP),
parameter :: rd = 287.04_rp
61 real(RP),
parameter :: cp = 7.0_rp * rd / 2.0_rp
62 real(RP),
parameter :: rcp = rd / cp
64 integer,
parameter :: cosin = 1
65 integer,
parameter :: sine = 2
67 real(SP),
allocatable :: read_xy (:,:,:)
68 real(SP),
allocatable :: read_uy (:,:,:)
69 real(SP),
allocatable :: read_xv (:,:,:)
70 real(SP),
allocatable :: read_zxy(:,:,:,:)
71 real(SP),
allocatable :: read_wxy(:,:,:,:)
72 real(SP),
allocatable :: read_zuy(:,:,:,:)
73 real(SP),
allocatable :: read_zxv(:,:,:,:)
74 real(SP),
allocatable :: read_lzxy(:,:,:,:)
75 real(SP),
allocatable :: read_lz(:,:)
77 real(RP),
allocatable :: p_org (:,:,:)
78 real(RP),
allocatable :: pb_org (:,:,:)
79 real(RP),
allocatable :: ph_org (:,:,:)
80 real(RP),
allocatable :: phb_org (:,:,:)
82 logical,
private :: wrfout = .false.
97 integer,
intent(out) :: dims(6)
98 integer,
intent(out) :: timelen
99 character(len=H_LONG),
intent(in) :: basename_org
101 logical :: WRF_FILE_TYPE = .false.
103 namelist / param_mkinit_real_wrfarw / &
106 integer :: dims_wrf(7)
110 if(
io_l )
write(
io_fid_log,*)
'+++ Real Case/Atom Input File Type: WRF-ARW' 114 read(
io_fid_conf,nml=param_mkinit_real_wrfarw,iostat=ierr)
116 write(*,*)
'xxx Not appropriate names in namelist PARAM_MKINIT_REAL_WRFARW. Check!' 122 dims(1:6) = dims_wrf(1:6)
124 if ( wrf_file_type )
then 126 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF History Output' 129 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF Restart' 133 allocate( read_xy( dims(2),dims(3),1) )
134 allocate( read_uy( dims(5),dims(3),1) )
135 allocate( read_xv( dims(2),dims(6),1) )
136 allocate( read_zxy(dims(1),dims(2),dims(3),1) )
137 allocate( read_wxy(dims(4),dims(2),dims(3),1) )
138 allocate( read_zuy(dims(1),dims(5),dims(3),1) )
139 allocate( read_zxv(dims(1),dims(2),dims(6),1) )
141 allocate( p_org(dims(1),dims(2),dims(3)) )
142 allocate( pb_org(dims(1),dims(2),dims(3)) )
143 allocate( ph_org(dims(4),dims(2),dims(3)) )
144 allocate( phb_org(dims(4),dims(2),dims(3)) )
153 if(
io_l )
write(
io_fid_log,*)
'+++ ScaleLib/IO[realinput]/Categ[AtomOpenWRFARW]' 179 thermodyn_pott => atmos_thermodyn_pott
181 real(RP),
intent(out) :: velz_org(:,:,:)
182 real(RP),
intent(out) :: llvelx_org(:,:,:)
183 real(RP),
intent(out) :: llvely_org(:,:,:)
184 real(RP),
intent(out) :: pres_org(:,:,:)
185 real(RP),
intent(out) :: temp_org(:,:,:)
186 real(RP),
intent(out) :: qtrc_org(:,:,:,:)
187 real(RP),
intent(out) :: lon_org(:,:)
188 real(RP),
intent(out) :: lat_org(:,:)
189 real(RP),
intent(out) :: cz_org(:,:,:)
190 character(len=*),
intent(in) :: basename
191 integer,
intent(in) :: mptype_parent
192 integer,
intent(in) :: dims(6)
193 integer,
intent(in) :: it
196 real(RP) :: velx_org(dims(1)+2,dims(2),dims(3))
197 real(RP) :: vely_org(dims(1)+2,dims(2),dims(3))
198 real(RP) :: pott_org(dims(1)+2,dims(2),dims(3))
199 real(RP) :: topo_org( dims(2),dims(3))
202 real(RP) :: velzs_org(dims(4),dims(2),dims(3))
203 real(RP) :: velxs_org(dims(1),dims(5),dims(3))
204 real(RP) :: velys_org(dims(1),dims(2),dims(6))
205 real(RP) :: geof_org (dims(4),dims(2),dims(3))
209 integer :: k, i, j, iq
211 character(len=H_MID) :: varname_T
212 character(len=H_MID) :: varname_W
213 character(len=H_MID) :: varname_U
214 character(len=H_MID) :: varname_V
216 logical :: lack_of_val
221 if(
io_l )
write(
io_fid_log,*)
'+++ ScaleLib/IO[realinput]/Categ[InputWRF]' 236 call externalfileread( read_xy(:,:,:), basename,
"XLAT", it, it, myrank, mdlid, single=.true. )
237 lat_org(:,:) =
real( read_xy(:,:,1), kind=RP ) * D2R
239 call externalfileread( read_xy(:,:,:), basename,
"XLONG", it, it, myrank, mdlid, single=.true. )
240 lon_org(:,:) =
real( read_xy(:,:,1), kind=RP ) * D2R
242 call externalfileread( read_xy(:,:,:), basename,
"HGT", it, it, myrank, mdlid, single=.true. )
243 topo_org(:,:) =
real( read_xy(:,:,1), kind=
rp )
245 call externalfileread( read_wxy(:,:,:,:), basename,
"PH", it, it, myrank, mdlid, single=.true., zstag=.true. )
246 ph_org(:,:,:) =
real( read_wxy(:,:,:,1), kind=
rp )
248 call externalfileread( read_wxy(:,:,:,:), basename,
"PHB", it, it, myrank, mdlid, single=.true., zstag=.true. )
249 phb_org(:,:,:) =
real( read_wxy(:,:,:,1), kind=
rp )
251 call externalfileread( read_zxy(:,:,:,:), basename,
"P", it, it, myrank, mdlid, single=.true. )
252 p_org(:,:,:) =
real( read_zxy(:,:,:,1), kind=
rp )
254 call externalfileread( read_zxy(:,:,:,:), basename,
"PB", it, it, myrank, mdlid, single=.true. )
255 pb_org(:,:,:) =
real( read_zxy(:,:,:,1), kind=
rp )
257 call externalfileread( read_wxy(:,:,:,:), basename, varname_w, it, it, myrank, mdlid, single=.true., zstag=.true. )
258 velzs_org(:,:,:) =
real( read_wxy(:,:,:,1), kind=
rp )
260 call externalfileread( read_zuy(:,:,:,:), basename, varname_u, it, it, myrank, mdlid, single=.true., xstag=.true. )
262 velxs_org(:,:,:) =
real( read_zuy(:,:,:,1), kind=
rp )
264 call externalfileread( read_zxv(:,:,:,:), basename, varname_v, it, it, myrank, mdlid, single=.true., ystag=.true. )
265 velys_org(:,:,:) =
real( read_zxv(:,:,:,1), kind=
rp )
271 velz_org(k+2,i,j) = ( velzs_org(k,i,j) + velzs_org(k+1,i,j) ) * 0.5_rp
272 velx_org(k+2,i,j) = ( velxs_org(k,i,j) + velxs_org(k,i+1,j) ) * 0.5_rp
273 vely_org(k+2,i,j) = ( velys_org(k,i,j) + velys_org(k,i,j+1) ) * 0.5_rp
275 velz_org(1:2,i,j) = 0.0_rp
276 velx_org(1:2,i,j) = 0.0_rp
277 vely_org(1:2,i,j) = 0.0_rp
282 velx_org, vely_org, &
285 dims(1)+2, dims(2), dims(3) )
287 qtrc_org(:,:,:,:) = 0.0_rp
288 call externalfileread( read_xy(:,:,:), basename,
"Q2", it, it, myrank, mdlid, single=.true. )
289 qtrc_org(2,:,:,
i_qv) =
real(read_xy(:,:,1),kind=
rp)
290 qtrc_org(1,:,:,
i_qv) = qtrc_org(2,:,:,
i_qv)
292 call externalfileread( read_zxy(:,:,:,:), basename,
"QVAPOR", it, it, myrank, mdlid, single=.true. )
293 qtrc_org(3:,:,:,
i_qv) =
real(read_zxy(:,:,:,1),kind=
rp)
296 if( mptype_parent > 0 )
then 297 call externalfileread( read_zxy(:,:,:,:), basename,
"QCLOUD", it, it, myrank, mdlid, single=.true. )
298 qtrc_org(3:,:,:,
i_qc) =
real( read_zxy(:,:,:,1), kind=
rp)
300 call externalfileread( read_zxy(:,:,:,:), basename,
"QRAIN", it, it, myrank, mdlid, single=.true. )
301 qtrc_org(3:,:,:,
i_qr) =
real( read_zxy(:,:,:,1), kind=
rp)
304 if( mptype_parent > 3 )
then 305 call externalfileread( read_zxy(:,:,:,:), basename,
"QICE", it, it, myrank, mdlid, single=.true. )
306 qtrc_org(3:,:,:,
i_qi) =
real( read_zxy(:,:,:,1), kind=
rp)
308 call externalfileread( read_zxy(:,:,:,:), basename,
"QSNOW", it, it, myrank, mdlid, single=.true. )
309 qtrc_org(3:,:,:,
i_qs) =
real( read_zxy(:,:,:,1), kind=
rp)
312 if( mptype_parent > 5 )
then 313 call externalfileread( read_zxy(:,:,:,:), basename,
"QGRAUP", it, it, myrank, mdlid, single=.true. )
314 qtrc_org(3:,:,:,
i_qg) =
real( read_zxy(:,:,:,1), kind=
rp)
322 do iq = 1, min( mptype_parent, 6)
323 qhyd = qhyd + qtrc_org(k,i,j,iq)
325 do iq = 1, min( mptype_parent, 6)
326 qtrc_org(k,i,j,iq) = qtrc_org(k,i,j,iq) / ( 1.0_rp + qhyd )
332 if( mptype_parent > 6 )
then 333 call externalfileread( read_zxy(:,:,:,:), basename,
"NC", it, it, myrank, mdlid, single=.true. )
334 qtrc_org(3:,:,:,
i_nc) =
real( read_zxy(:,:,:,1), kind=
rp )
336 call externalfileread( read_zxy(:,:,:,:), basename,
"NR", it, it, myrank, mdlid, single=.true. )
337 qtrc_org(3:,:,:,
i_nr) =
real( read_zxy(:,:,:,1), kind=
rp )
339 call externalfileread( read_zxy(:,:,:,:), basename,
"NI", it, it, myrank, mdlid, single=.true. )
340 qtrc_org(3:,:,:,
i_ni) =
real( read_zxy(:,:,:,1), kind=
rp )
342 call externalfileread( read_zxy(:,:,:,:), basename,
"NS", it, it, myrank, mdlid, single=.true. )
343 qtrc_org(3:,:,:,
i_ns) =
real( read_zxy(:,:,:,1), kind=
rp )
345 call externalfileread( read_zxy(:,:,:,:), basename,
"NG", it, it, myrank, mdlid, single=.true. )
346 qtrc_org(3:,:,:,
i_ng) =
real( read_zxy(:,:,:,1), kind=
rp )
354 qtrc_org(k,i,j,iq) = max( qtrc_org(k,i,j,iq), 0.0_rp )
361 call externalfileread( read_zxy(:,:,:,:), basename, varname_t, it, it, myrank, mdlid, single=.true. )
362 pott_org(3:,:,:) =
real( read_zxy(:,:,:,1), kind=RP ) + t0
363 call externalfileread( read_xy(:,:,:), basename,
"T2", it, it, myrank, mdlid, single=.true. )
364 temp_org(2,:,:) =
real( read_xy(:,:,1), kind=
rp )
366 call externalfileread( read_xy(:,:,:), basename,
"PSFC", it, it, myrank, mdlid, single=.true. )
367 pres_org(2,:,:) =
real( read_xy(:,:,1), kind=
rp )
372 pres_org(k,i,j) = p_org(k-2,i,j) + pb_org(k-2,i,j)
373 temp_org(k,i,j) = pott_org(k,i,j) * ( pres_org(k,i,j) / p0 )**rcp
375 pott_org(2,i,j) = temp_org(2,i,j) * ( p0/pres_org(2,i,j) )**rcp
376 temp_org(1,i,j) = temp_org(2,i,j) + laps * topo_org(i,j)
377 pres_org(1,i,j) = p0 * ( temp_org(1,i,j) / pott_org(2,i,j) )**(1.0_rp/rcp)
385 geof_org(k,i,j) = ( ph_org(k,i,j) + phb_org(k,i,j) ) / grav
389 cz_org(k+2,i,j) = ( geof_org(k,i,j) + geof_org(k+1,i,j) ) * 0.5_rp
391 cz_org(2,i,j) = topo_org(i,j)
392 cz_org(1,i,j) = 0.0_rp
399 k=2 ; i=3 ; j=3 ; iq = 1
400 write(*,*)
"read 3D wrf data",i,j,k
401 write(*,*)
"lon_org ",lon_org(i,j)/d2r
402 write(*,*)
"lat_org ",lat_org(i,j)/d2r
403 write(*,*)
"cz_org ",cz_org(k,i,j)
404 write(*,*)
"pres_org ",pres_org(k,i,j)
405 write(*,*)
"velx_org ",llvelx_org(k,i,j)
406 write(*,*)
"vely_org ",llvely_org(k,i,j)
407 write(*,*)
"velz_org ",velz_org(k,i,j)
408 write(*,*)
"temp_org ",temp_org(k,i,j)
409 write(*,*)
"qtrc_org ",qtrc_org(k,i,j,iq)
410 k=3 ; i=3 ; j=3 ; iq = 1
411 write(*,*)
"read 3D wrf data",i,j,k
412 write(*,*)
"lon_org ",lon_org(i,j)/d2r
413 write(*,*)
"lat_org ",lat_org(i,j)/d2r
414 write(*,*)
"cz_org ",cz_org(k,i,j)
415 write(*,*)
"pres_org ",pres_org(k,i,j)
416 write(*,*)
"velx_org ",llvelx_org(k,i,j)
417 write(*,*)
"vely_org ",llvely_org(k,i,j)
418 write(*,*)
"velz_org ",velz_org(k,i,j)
419 write(*,*)
"temp_org ",temp_org(k,i,j)
420 write(*,*)
"qtrc_org ",qtrc_org(k,i,j,iq)
436 integer,
intent(out) :: ldims(3)
437 character(len=H_LONG),
intent(in) :: basename_land
439 logical :: WRF_FILE_TYPE = .false.
441 namelist / param_mkinit_real_wrfarw / &
444 integer :: dims_wrf(7)
449 if(
io_l )
write(
io_fid_log,*)
'+++ Real Case/Atom Input File Type: WRF-ARW' 453 read(
io_fid_conf,nml=param_mkinit_real_wrfarw,iostat=ierr)
455 write(*,*)
'xxx Not appropriate names in namelist PARAM_MKINIT_REAL_WRFARW. Check!' 462 ldims(1) = dims_wrf(7)
463 ldims(2) = dims_wrf(2)
464 ldims(3) = dims_wrf(3)
466 if ( wrf_file_type )
then 468 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF History Output' 471 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF Restart' 475 if ( .not.
allocated(read_xy) )
then 476 allocate( read_xy( ldims(2),ldims(3),1) )
479 allocate( read_lzxy(ldims(1),ldims(2),ldims(3),1) )
480 allocate( read_lz(ldims(1),1) )
499 use_file_landwater, &
510 real(RP),
intent(out) :: tg_org(:,:,:)
511 real(RP),
intent(out) :: sh2o_org(:,:,:)
512 real(RP),
intent(out) :: lst_org(:,:)
513 real(RP),
intent(out) :: ust_org(:,:)
514 real(RP),
intent(out) :: albg_org(:,:,:)
515 real(RP),
intent(out) :: topo_org(:,:)
516 real(RP),
intent(out) :: lmask_org(:,:)
517 real(RP),
intent(out) :: llon_org(:,:)
518 real(RP),
intent(out) :: llat_org(:,:)
519 real(RP),
intent(out) :: lz_org(:)
520 character(len=*),
intent( in) :: basename
521 integer,
intent( in) :: ldims(3)
522 logical,
intent( in) :: use_file_landwater
523 integer,
intent( in) :: it
532 if(
io_l )
write(
io_fid_log,*)
'+++ ScaleLib/IO[realinput]/Categ[LandInputWRF]' 534 call externalfileread( read_xy(:,:,:), basename,
"XLAT", it, it, myrank, mdlid, single=.true. )
535 llat_org(:,:) = read_xy(:,:,1) * d2r
537 call externalfileread( read_xy(:,:,:), basename,
"XLONG", it, it, myrank, mdlid, single=.true. )
538 llon_org(:,:) = read_xy(:,:,1) * d2r
540 call externalfileread( read_xy(:,:,:), basename,
"HGT", it, it, myrank, mdlid, single=.true. )
541 topo_org(:,:) = read_xy(:,:,1)
544 call externalfileread( read_lz(:,:), &
545 basename,
"ZS", it, 1, myrank, mdlid, ldims(1), single=.true. )
546 lz_org(:) = read_lz(:,1)
549 call externalfileread( read_xy(:,:,:), &
550 basename,
"LANDMASK", it, 1, myrank, mdlid, single=.true. )
551 lmask_org(:,:) = read_xy(:,:,1)
554 call externalfileread( read_lzxy(:,:,:,:), &
555 basename,
"TSLB", it, 1, myrank, mdlid, single=.true., landgrid=.true. )
556 tg_org(:,:,:) = read_lzxy(:,:,:,1)
559 if( use_file_landwater )
then 561 if ( existence )
then 562 call externalfileread( read_lzxy(:,:,:,:), &
563 basename,
"SH2O", it, 1, myrank, mdlid, single=.true., landgrid=.true. )
564 sh2o_org(:,:,:) = read_lzxy(:,:,:,1)
566 sh2o_org(:,:,:) = undef
581 call externalfileread( read_xy(:,:,:), &
582 basename,
"TSK", it, 1, myrank, mdlid, single=.true. )
583 lst_org(:,:) = read_xy(:,:,1)
585 ust_org(:,:) = lst_org(:,:)
588 call externalfileread( read_xy(:,:,:), &
589 basename,
"ALBEDO", it, 1, myrank, mdlid, single=.true. )
590 albg_org(:,:,i_sw) = read_xy(:,:,1)
593 call externalfileread( read_xy(:,:,:), &
594 basename,
"EMISS", it, 1, myrank, mdlid, single=.true. )
597 albg_org(i,j,i_lw) = 1.0_dp - read_xy(i,j,1)
640 integer,
intent(out) :: odims(2)
641 integer,
intent(out) :: timelen
642 character(len=H_LONG),
intent(in) :: basename_org
644 logical :: WRF_FILE_TYPE = .false.
646 namelist / param_mkinit_real_wrfarw / &
649 integer :: dims_wrf(7)
653 if(
io_l )
write(
io_fid_log,*)
'+++ Real Case/Ocean Input File Type: WRF-ARW' 657 read(
io_fid_conf,nml=param_mkinit_real_wrfarw,iostat=ierr)
659 write(*,*)
'xxx Not appropriate names in namelist PARAM_MKINIT_REAL_WRFARW. Check!' 666 odims(1) = dims_wrf(2)
667 odims(2) = dims_wrf(3)
669 if ( wrf_file_type )
then 671 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF History Output' 674 if(
io_l )
write(
io_fid_log,*)
'+++ WRF-ARW FILE-TYPE: WRF Restart' 678 if ( .not.
allocated(read_xy) )
then 679 allocate( read_xy( odims(1),odims(2),1) )
689 if(
io_l )
write(
io_fid_log,*)
'+++ ScaleLib/IO[realinput]/Categ[OceanOpenWRFARW]' 714 real(RP),
intent(out) :: tw_org(:,:)
715 real(RP),
intent(out) :: sst_org(:,:)
716 real(RP),
intent(out) :: albw_org(:,:,:)
717 real(RP),
intent(out) :: z0w_org(:,:)
718 real(RP),
intent(out) :: omask_org(:,:)
719 real(RP),
intent(out) :: olon_org(:,:)
720 real(RP),
intent(out) :: olat_org(:,:)
721 character(len=*),
intent( in) :: basename
722 integer,
intent( in) :: odims(2)
723 integer,
intent( in) :: it
732 if(
io_l )
write(
io_fid_log,*)
'+++ ScaleLib/IO[realinput]/Categ[OceanInputWRF]' 734 call externalfileread( read_xy(:,:,:), basename,
"XLAT", it, it, myrank, mdlid, single=.true. )
735 olat_org(:,:) = read_xy(:,:,1) * d2r
737 call externalfileread( read_xy(:,:,:), basename,
"XLONG", it, it, myrank, mdlid, single=.true. )
738 olon_org(:,:) = read_xy(:,:,1) * d2r
741 call externalfileread( read_xy(:,:,:), &
742 basename,
"LANDMASK", it, 1, myrank, mdlid, single=.true. )
743 omask_org(:,:) = read_xy(:,:,1)
746 call externalfileread( read_xy(:,:,:), &
747 basename,
"SST", it, 1, myrank, mdlid, single=.true. )
748 sst_org(:,:) = read_xy(:,:,1)
750 tw_org(:,:) = sst_org(:,:)
753 call externalfileread( read_xy(:,:,:), &
754 basename,
"ALBEDO", it, 1, myrank, mdlid, single=.true. )
755 albw_org(:,:,i_sw) = read_xy(:,:,1)
758 call externalfileread( read_xy(:,:,:), &
759 basename,
"EMISS", it, 1, myrank, mdlid, single=.true. )
762 albw_org(i,j,i_lw) = 1.0_dp - read_xy(i,j,1)
768 if ( existence )
then 769 call externalfileread( read_xy(:,:,:), &
770 basename,
"ZNT", it, 1, myrank, mdlid, single=.true. )
771 z0w_org(:,:) = read_xy(:,:,1)
795 externalfilegetglobalattv
797 real(RP),
intent(out) :: u_latlon(:,:,:)
798 real(RP),
intent(out) :: v_latlon(:,:,:)
799 real(RP),
intent(in ) :: u_on_map(:,:,:)
800 real(RP),
intent(in ) :: v_on_map(:,:,:)
801 real(RP),
intent(in ) :: xlon(:,:)
802 real(RP),
intent(in ) :: xlat(:,:)
803 integer ,
intent(in ) :: K1, I1, J1
805 character(len=*),
intent( in) :: basename
807 real(RP) :: truelat1, truelat2
808 real(RP) :: stand_lon
811 real(RP) :: sine(i1,j1)
812 real(RP) :: cose(i1,j1)
823 call externalfilegetglobalattv( dum_i, iwrfarw, basename,
"MAP_PROJ", myrank, single=.true. )
825 call externalfilegetglobalattv( dum_r, iwrfarw, basename,
"TRUELAT1", myrank, single=.true. )
826 truelat1 = dum_r(1) * d2r
827 call externalfilegetglobalattv( dum_r, iwrfarw, basename,
"TRUELAT2", myrank, single=.true. )
828 truelat2 = dum_r(1) * d2r
829 call externalfilegetglobalattv( dum_r, iwrfarw, basename,
"STAND_LON", myrank, single=.true. )
830 stand_lon = dum_r(1) * d2r
833 if ( map_proj .ge. 3 )
then 834 u_latlon(:,:,:) = u_on_map(:,:,:)
835 v_latlon(:,:,:) = v_on_map(:,:,:)
842 if ( map_proj .eq. 1 )
then 843 if ( abs(truelat1-truelat2) .gt. 0.1_rp*d2r )
then 844 cone = (
log(cos(truelat1)) - &
845 log(cos(truelat2)) ) / &
846 (
log(tan((pi*0.5_rp-abs(truelat1))*0.5_rp )) - &
847 log(tan((pi*0.5_rp-abs(truelat2))*0.5_rp )) )
849 cone = sin( abs(truelat1) )
855 diff = xlon(i,j) - stand_lon
856 if ( diff .gt. pi )
then 857 diff = diff - pi*2.0_rp
859 if ( diff .lt. -pi )
then 860 diff = diff + pi*2.0_rp
862 alpha = diff * cone * sign(1.0_rp, xlat(i,j))
863 sine(i,j) = sin( alpha )
864 cose(i,j) = cos( alpha )
871 u_latlon(k,i,j) = v_on_map(k,i,j)*sine(i,j) + u_on_map(k,i,j)*cose(i,j)
872 v_latlon(k,i,j) = v_on_map(k,i,j)*cose(i,j) - u_on_map(k,i,j)*sine(i,j)
integer, public const_i_lw
long-wave radiation index
subroutine, public externalfilevarexistence(existence, basename, varname, myrank, mdlid, single)
Check Existence of a Variable.
subroutine, public prc_mpistop
Abort MPI.
logical, public io_l
output log or not? (this process)
real(rp), public const_d2r
degree to radian
real(rp), public const_laps
lapse rate of ISA [K/m]
integer, parameter, public iwrfarw
real(rp), public const_undef
subroutine, public externalfilegetshape(dims, timelen, mdlid, basename, myrank, single)
real(rp), public const_grav
standard acceleration of gravity [m/s2]
subroutine, public log(type, message)
integer, public prc_myrank
process num in local communicator
module ATMOSPHERE / Thermodynamics
logical, public io_lnml
output log or not? (for namelist, this process)
integer, public const_i_sw
short-wave radiation index
real(rp), public const_pi
pi
integer, public io_fid_conf
Config file ID.
integer, public io_fid_log
Log file ID.
integer, parameter, public rp