381 psat => atmos_saturation_psat_liq
385 real(RP),
intent(out) :: velz_org(:,:,:)
386 real(RP),
intent(out) :: velx_org(:,:,:)
387 real(RP),
intent(out) :: vely_org(:,:,:)
388 real(RP),
intent(out) :: pres_org(:,:,:)
389 real(RP),
intent(out) :: dens_org(:,:,:)
390 real(RP),
intent(out) :: temp_org(:,:,:)
391 real(RP),
intent(out) :: qv_org (:,:,:)
392 real(RP),
intent(out) :: qhyd_org(:,:,:,:)
393 real(RP),
intent(out) :: rn222_org(:,:,:)
394 real(RP),
intent(out) :: lon_org(:,:)
395 real(RP),
intent(out) :: lat_org(:,:)
396 real(RP),
intent(out) :: cz_org(:,:,:)
397 character(len=*),
intent(in) :: basename_num
398 integer,
intent(in) :: dims(6)
399 integer,
intent(in) :: nt
401 real(RP) :: rhprs_org(dims(1)+2,dims(2),dims(3))
403 integer :: lm_layer(dims(2),dims(3))
405 character(len=H_LONG) :: gfile
407 real(RP) :: p_sat, qm, rhsfc, dz
408 logical :: pressure_coordinates
410 integer :: i, j, k, iq, ielem
413 dens_org(:,:,:) = undef
414 velz_org(:,:,:) = 0.0_rp
415 qv_org(:,:,:) = 0.0_rp
416 qhyd_org(:,:,:,:) = 0.0_rp
417 rn222_org(:,:,:) = 0.0_rp
420 loop_inputatmosgrads :
do ielem = 1, num_item_list_atom
422 if ( .not. data_available(ielem,1) ) cycle
424 item = grads_item(ielem,1)
425 dtype = grads_dtype(ielem,1)
426 fname = grads_fname(ielem,1)
427 lnum = grads_lnum(ielem,1)
428 missval = grads_missval(ielem,1)
430 if ( dims(1) < grads_knum(ielem,1) )
then 431 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be less than or equal to outer_nz. knum:',knum,
'> outer_nz:',dims(1),trim(item)
433 else if ( grads_knum(ielem,1) > 0 )
then 434 knum = grads_knum(ielem,1)
439 select case(trim(dtype))
441 swpoint = grads_swpoint(ielem,1)
442 dd = grads_dd(ielem,1)
443 if( (abs(swpoint-large_number_one)<eps).or.(abs(dd-large_number_one)<eps) )
then 444 log_error(
"ParentAtmosInputGrADS",*)
'"swpoint" is required in grads namelist! ',swpoint
445 log_error_cont(*)
'"dd" is required in grads namelist! ',dd
450 log_error(
"ParentAtmosInputGrADS",*)
'"lnum" is required in grads namelist for levels data! ' 454 lvars(k)=grads_lvars(k,ielem,1)
456 if(abs(lvars(1)-large_number_one)<eps)
then 457 log_error(
"ParentAtmosInputGrADS",*)
'"lvars" must be specified in grads namelist for levels data! ' 461 startrec = grads_startrec(ielem,1)
462 totalrec = grads_totalrec(ielem,1)
463 fendian = grads_fendian(ielem,1)
464 yrev = grads_yrev(ielem,1)
465 if( (startrec<0).or.(totalrec<0) )
then 466 log_error(
"ParentAtmosInputGrADS",*)
'"startrec" is required in grads namelist! ',startrec
467 log_error_cont(*)
'"totalrec" is required in grads namelist! ',totalrec
471 if(io_fid_grads_data < 0)
then 474 gfile=trim(fname)//trim(basename_num)//
'.grd' 475 if( len_trim(fname)==0 )
then 476 log_error(
"ParentAtmosInputGrADS",*)
'"fname" is required in grads namelist for map data! ',trim(fname)
482 select case(trim(item))
484 if ( trim(dtype) ==
"linear" )
then 487 lon_org(i,j) =
real(swpoint+real(i-1)*dd, kind=RP) * d2r
490 else if ( trim(dtype) ==
"map" )
then 491 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,1,item,startrec,totalrec,yrev,gdata2d)
492 lon_org(:,:) =
real(gdata2D(:,:), kind=RP) * d2r
495 if ( trim(dtype) ==
"linear" )
then 498 lat_org(i,j) =
real(swpoint+real(j-1)*dd, kind=RP) * d2r
501 else if ( trim(dtype) ==
"map" )
then 502 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,1,item,startrec,totalrec,yrev,gdata2d)
503 lat_org(:,:) =
real(gdata2D(:,:), kind=RP) * d2r
506 if(dims(1)/=knum)
then 507 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
510 if ( trim(dtype) ==
"levels" )
then 511 pressure_coordinates = .true.
512 if(dims(1)/=lnum)
then 513 log_error(
"ParentAtmosInputGrADS",*)
'lnum must be same as the outer_nz for plev! ',dims(1),lnum
519 pres_org(k+2,i,j) =
real(lvars(k), kind=rp)
523 else if ( trim(dtype) ==
"map" )
then 524 pressure_coordinates = .false.
525 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),dims(1),nt,item,startrec,totalrec,yrev,gdata3d)
529 pres_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
531 if( abs( pres_org(k+2,i,j) - missval ) < eps )
then 532 pres_org(k+2,i,j) = undef
539 if(dims(1)/=knum)
then 540 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
543 if ( trim(dtype) ==
"map" )
then 544 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
548 dens_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
550 if( abs( dens_org(k+2,i,j) - missval ) < eps )
then 551 dens_org(k+2,i,j) = undef
558 if(dims(1)/=knum)
then 559 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
562 if ( trim(dtype) ==
"map" )
then 563 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
566 velx_org(1:2,i,j) = 0.0_rp
568 velx_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
570 if( abs( velx_org(k+2,i,j) - missval ) < eps )
then 571 velx_org(k+2,i,j) = undef
578 if(dims(1)/=knum)
then 579 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
582 if ( trim(dtype) ==
"map" )
then 583 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
586 vely_org(1:2,i,j) = 0.0_rp
588 vely_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
590 if( abs( vely_org(k+2,i,j) - missval ) < eps )
then 591 vely_org(k+2,i,j) = undef
598 if(dims(1)/=knum)
then 599 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
602 if ( trim(dtype) ==
"map" )
then 603 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
606 velz_org(1:2,i,j) = 0.0_rp
608 velz_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
610 if( abs( velz_org(k+2,i,j) - missval ) < eps )
then 611 velz_org(k+2,i,j) = undef
618 if(dims(1)/=knum)
then 619 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
622 if ( trim(dtype) ==
"map" )
then 623 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
627 temp_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
629 if( abs( temp_org(k+2,i,j) - missval ) < eps )
then 630 temp_org(k+2,i,j) = undef
637 if(dims(1)/=knum)
then 638 log_error(
"ParentAtmosInputGrADS",*)
'"knum" must be equal to outer_nz for ',trim(item),
'. knum:',knum,
'> outer_nz:',dims(1)
641 if ( trim(dtype) ==
"levels" )
then 642 if(dims(1)/=lnum)
then 643 log_error(
"ParentAtmosInputGrADS",*)
'lnum must be same as the outer_nz for HGT! ',dims(1),lnum
649 cz_org(k+2,i,j) =
real(lvars(k), kind=rp)
651 cz_org(1,i,j) = 0.0_rp
654 else if ( trim(dtype) ==
"map" )
then 655 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),dims(1),nt,item,startrec,totalrec,yrev,gdata3d)
659 cz_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
661 if( abs( cz_org(k+2,i,j) - missval ) < eps )
then 662 cz_org(k+2,i,j) = undef
665 cz_org(1,i,j) = 0.0_rp
670 if ( trim(dtype) ==
"map" )
then 671 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
675 qv_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
677 if( abs( qv_org(k+2,i,j) - missval ) < eps )
then 678 qv_org(k+2,i,j) = undef
681 qv_org(1:2,i,j) = qv_org(3,i,j)
684 if( dims(1)>knum )
then 685 select case( upper_qv_type )
689 do k = knum+1, dims(1)
690 qv_org(k+2,i,j) = qv_org(knum+2,i,j)
697 log_error(
"ParentAtmosInputGrADS",*)
'upper_qv_type in PARAM_MKINIT_REAL_GrADS is invalid! ', upper_qv_type
703 if ( trim(dtype) ==
"map" )
then 704 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
708 qhyd_org(k+2,i,j,
i_hc) =
real(gdata3D(i,j,k), kind=rp)
710 if( abs( qhyd_org(k+2,i,j,
i_hc) - missval ) < eps )
then 711 qhyd_org(k+2,i,j,
i_hc) = undef
714 qhyd_org(1:2,i,j,
i_hc) = qhyd_org(3,i,j,
i_hc)
720 if ( trim(dtype) ==
"map" )
then 721 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
725 qhyd_org(k+2,i,j,
i_hr) =
real(gdata3D(i,j,k), kind=rp)
727 if( abs( qhyd_org(k+2,i,j,
i_hr) - missval ) < eps )
then 728 qhyd_org(k+2,i,j,
i_hr) = undef
731 qhyd_org(1:2,i,j,
i_hr) = qhyd_org(3,i,j,
i_hr)
737 if ( trim(dtype) ==
"map" )
then 738 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
742 qhyd_org(k+2,i,j,
i_hi) =
real(gdata3D(i,j,k), kind=rp)
744 if( abs( qhyd_org(k+2,i,j,
i_hi) - missval ) < eps )
then 745 qhyd_org(k+2,i,j,
i_hi) = undef
748 qhyd_org(1:2,i,j,
i_hi) = qhyd_org(3,i,j,
i_hi)
754 if ( trim(dtype) ==
"map" )
then 755 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
759 qhyd_org(k+2,i,j,
i_hs) =
real(gdata3D(i,j,k), kind=rp)
761 if( abs( qhyd_org(k+2,i,j,
i_hs) - missval ) < eps )
then 762 qhyd_org(k+2,i,j,
i_hs) = undef
765 qhyd_org(1:2,i,j,
i_hs) = qhyd_org(3,i,j,
i_hs)
771 if ( trim(dtype) ==
"map" )
then 772 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
776 qhyd_org(k+2,i,j,
i_hg) =
real(gdata3D(i,j,k), kind=rp)
778 if( abs( qhyd_org(k+2,i,j,
i_hg) - missval ) < eps )
then 779 qhyd_org(k+2,i,j,
i_hg) = undef
782 qhyd_org(1:2,i,j,
i_hg) = qhyd_org(3,i,j,
i_hg)
788 if (data_available(ia_qv,1)) cycle
789 if ( trim(dtype) ==
"map" )
then 790 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
794 qv_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
796 if( abs( qv_org(k+2,i,j) - missval ) < eps )
then 797 qv_org(k+2,i,j) = undef
799 rhprs_org(k+2,i,j) = qv_org(k+2,i,j) / 100.0_rp
800 call psat( temp_org(k+2,i,j), p_sat )
801 qm = epsvap * rhprs_org(k+2,i,j) * p_sat &
802 / ( pres_org(k+2,i,j) - rhprs_org(k+2,i,j) * p_sat )
803 qv_org(k+2,i,j) = qm / ( 1.0_rp + qm )
806 qv_org(1:2,i,j) = qv_org(3,i,j)
809 if( dims(1)>knum )
then 810 select case( upper_qv_type )
814 do k = knum+1, dims(1)
815 rhprs_org(k+2,i,j) = rhprs_org(knum+2,i,j)
816 call psat( temp_org(k+2,i,j), p_sat )
817 qm = epsvap * rhprs_org(k+2,i,j) * p_sat &
818 / ( pres_org(k+2,i,j) - rhprs_org(k+2,i,j) * p_sat )
819 qv_org(k+2,i,j) = qm / ( 1.0_rp + qm )
820 qv_org(k+2,i,j) = min(qv_org(k+2,i,j),qv_org(k+1,i,j))
827 log_error(
"ParentAtmosInputGrADS",*)
'upper_qv_type in PARAM_MKINIT_REAL_GrADS is invalid! ', upper_qv_type
833 if ( trim(dtype) ==
"map" )
then 834 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
837 pres_org(1,i,j) =
real(gdata2D(i,j), kind=rp)
839 if( abs( pres_org(1,i,j) - missval ) < eps )
then 840 pres_org(1,i,j) = undef
846 if ( trim(dtype) ==
"map" )
then 847 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
850 pres_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
852 if( abs( pres_org(2,i,j) - missval ) < eps )
then 853 pres_org(2,i,j) = undef
859 if ( trim(dtype) ==
"map" )
then 860 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
863 velx_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
865 if( abs( velx_org(2,i,j) - missval ) < eps )
then 866 velx_org(2,i,j) = undef
872 if ( trim(dtype) ==
"map" )
then 873 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
876 vely_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
878 if( abs( vely_org(2,i,j) - missval ) < eps )
then 879 vely_org(2,i,j) = undef
885 if ( trim(dtype) ==
"map" )
then 886 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
889 temp_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
891 if( abs( temp_org(2,i,j) - missval ) < eps )
then 892 temp_org(2,i,j) = undef
898 if ( trim(dtype) ==
"map" )
then 899 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
902 qv_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
904 if( abs( qv_org(2,i,j) - missval ) < eps )
then 905 qv_org(2,i,j) = undef
911 if (data_available(ia_q2,1)) cycle
912 if ( trim(dtype) ==
"map" )
then 913 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
916 qv_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
918 if( abs( qv_org(2,i,j) - missval ) < eps )
then 919 qv_org(2,i,j) = undef
921 rhsfc = qv_org(2,i,j) / 100.0_rp
922 call psat( temp_org(2,i,j), p_sat )
923 qm = epsvap * rhsfc * p_sat &
924 / ( pres_org(2,i,j) - rhsfc * p_sat )
925 qv_org(2,i,j) = qm / ( 1.0_rp + qm )
931 if ( trim(dtype) ==
"map" )
then 932 call read_grads_file_2d(io_fid_grads_data,gfile,dims(2),dims(3),1,nt,item,startrec,totalrec,yrev,gdata2d)
935 cz_org(2,i,j) =
real(gdata2D(i,j), kind=rp)
937 if( abs( cz_org(2,i,j) - missval ) < eps )
then 938 cz_org(2,i,j) = undef
944 if ( trim(dtype) ==
'map' )
then 945 call read_grads_file_3d(io_fid_grads_data,gfile,dims(2),dims(3),knum,nt,item,startrec,totalrec,yrev,gdata3d)
949 rn222_org(k+2,i,j) =
real(gdata3D(i,j,k), kind=rp)
951 if( abs( rn222_org(k+2,i,j) - missval ) < eps )
then 952 rn222_org(k+2,i,j) = undef
955 rn222_org(1:2,i,j) = rn222_org(3,i,j)
960 enddo loop_inputatmosgrads
968 if( abs( pres_org(k,i,j) - undef ) < eps )
then 969 lm_layer(i,j) = k + 1
978 if ( .not. data_available(ia_dens,1) )
then 981 do k = lm_layer(i,j), dims(1)+2
982 rtot = rdry * ( 1.0_rp + epstvap * qv_org(k,i,j) )
983 dens_org(k,i,j) = pres_org(k,i,j) / ( rtot * temp_org(k,i,j) )
990 if ( data_available(ia_topo,1) )
then 991 if ( data_available(ia_t2,1) .and. data_available(ia_ps,1) )
then 994 rtot = rdry * ( 1.0_rp + epstvap * qv_org(2,i,j) )
995 dens_org(2,i,j) = pres_org(2,i,j) / ( rtot * temp_org(2,i,j) )
998 else if ( data_available(ia_ps,1) )
then 1002 dz = cz_org(k,i,j) - cz_org(2,i,j)
1003 dens_org(2,i,j) = - ( pres_org(k,i,j) - pres_org(2,i,j) ) * 2.0_rp / ( grav * dz ) &
1005 rtot = rdry * ( 1.0_rp + epstvap * qv_org(2,i,j) )
1006 temp_org(2,i,j) = pres_org(2,i,j) / ( rtot * dens_org(2,i,j) )
1009 else if ( data_available(ia_t2,1) )
then 1013 dz = cz_org(k,i,j) - cz_org(2,i,j)
1014 rtot = rdry * ( 1.0_rp + epstvap * qv_org(2,i,j) )
1015 dens_org(2,i,j) = ( pres_org(k,i,j) + grav * dens_org(k,i,j) * dz * 0.5_rp ) &
1016 / ( rtot * temp_org(2,i,j) - grav * dz * 0.5_rp )
1017 pres_org(2,i,j) = dens_org(2,i,j) * rtot * temp_org(2,i,j)
1024 dz = cz_org(k,i,j) - cz_org(2,i,j)
1025 temp_org(2,i,j) = temp_org(k,i,j) + laps * dz
1026 rtot = rdry * ( 1.0_rp + epstvap * qv_org(2,i,j) )
1027 dens_org(2,i,j) = ( pres_org(k,i,j) + grav * dens_org(k,i,j) * dz * 0.5_rp ) &
1028 / ( rtot * temp_org(2,i,j) - grav * dz * 0.5_rp )
1029 pres_org(2,i,j) = dens_org(2,i,j) * rtot * temp_org(2,i,j)
1038 cz_org(2,i,j) = cz_org(k,i,j)
1039 velz_org(2,i,j) = velz_org(k,i,j)
1040 velx_org(2,i,j) = velx_org(k,i,j)
1041 vely_org(2,i,j) = vely_org(k,i,j)
1042 pres_org(2,i,j) = pres_org(k,i,j)
1043 temp_org(2,i,j) = temp_org(k,i,j)
1044 dens_org(2,i,j) = dens_org(k,i,j)
1045 qv_org(2,i,j) = qv_org(k,i,j)
1046 qhyd_org(2,i,j,:) = qhyd_org(k,i,j,:)
1047 rn222_org(2,i,j) = rn222_org(k,i,j)
1069 temp_org(1,i,j) = temp_org(2,i,j) + laps * cz_org(2,i,j)
1072 if ( data_available(ia_slp,1) )
then 1075 dens_org(1,i,j) = pres_org(1,i,j) / ( rdry * temp_org(1,i,j) )
1081 dens_org(1,i,j) = ( pres_org(2,i,j) + grav * dens_org(2,i,j) * cz_org(2,i,j) * 0.5_rp ) &
1082 / ( rdry * temp_org(1,i,j) - grav * cz_org(2,i,j) * 0.5_rp )
1083 pres_org(1,i,j) = dens_org(1,i,j) * rdry * temp_org(1,i,j)
1089 if( pressure_coordinates )
then 1093 if( pres_org(k,i,j) > pres_org(2,i,j) )
then 1094 velz_org(k,i,j) = velz_org(2,i,j)
1095 velx_org(k,i,j) = velx_org(2,i,j)
1096 vely_org(k,i,j) = vely_org(2,i,j)
1097 pres_org(k,i,j) = pres_org(2,i,j)
1098 dens_org(k,i,j) = dens_org(2,i,j)
1099 temp_org(k,i,j) = temp_org(2,i,j)
1100 qv_org(k,i,j) = qv_org(2,i,j)
1101 qhyd_org(k,i,j,:) = qhyd_org(2,i,j,:)
1102 cz_org(k,i,j) = cz_org(2,i,j)
1104 rn222_org(k,i,j) = rn222_org(2,i,j)
1113 if( cz_org(k,i,j) < cz_org(2,i,j) )
then 1114 velz_org(k,i,j) = velz_org(2,i,j)
1115 velx_org(k,i,j) = velx_org(2,i,j)
1116 vely_org(k,i,j) = vely_org(2,i,j)
1117 pres_org(k,i,j) = pres_org(2,i,j)
1118 dens_org(k,i,j) = dens_org(2,i,j)
1119 temp_org(k,i,j) = temp_org(2,i,j)
1120 qv_org(k,i,j) = qv_org(2,i,j)
1121 qhyd_org(k,i,j,:) = qhyd_org(2,i,j,:)
1122 cz_org(k,i,j) = cz_org(2,i,j)
1123 rn222_org(k,i,j) = 0.0_rp
real(rp), public const_cpdry
specific heat (dry air,constant pressure) [J/kg/K]
module atmosphere / saturation
integer, parameter, public i_hs
snow
integer, parameter, public i_hr
liquid water rain
integer, parameter, public i_hi
ice water cloud
real(rp), public const_d2r
degree to radian
real(rp), public const_laps
lapse rate of ISA [K/m]
real(rp), public const_rdry
specific gas constant (dry air) [J/kg/K]
real(rp), public const_undef
module atmosphere / hydrometeor
real(rp), public const_pre00
pressure reference [Pa]
integer function, public io_get_available_fid()
search & get available file ID
real(rp), public const_grav
standard acceleration of gravity [m/s2]
real(rp), public const_epsvap
Rdry / Rvap.
real(rp), public const_epstvap
1 / epsilon - 1
subroutine, public prc_abort
Abort Process.
integer, parameter, public i_hc
liquid water cloud
real(rp), public const_eps
small number
integer, parameter, public n_hyd
integer, parameter, public i_hg
graupel