32 real,
parameter :: alpha=-9.477e-4 , &
38 real(esmf_kind_r4),
intent(inout),
dimension(i_input,j_input) ::rh_sphum
39 real(esmf_kind_r8),
intent(in) :: p, t(i_input,j_input)
41 real,
dimension(i_input,j_input) :: es, e, rh
43 print*,
"- CONVERT RH TO SPFH AT LEVEL ", p
47 es = esnot * exp( lnot/rv * ((t-tnot)/(t*tnot) + alpha * log(t/tnot) - alpha * (t-tnot)/ t))
51 rh_sphum = 0.622 * e / p
73 real(esmf_kind_r8),
pointer :: omega(:,:,:), p(:,:,:), t(:,:,:), q(:,:,:),omtmp,ptmp
75 integer :: clb(3), cub(3), i ,j, k
77 real,
parameter :: rd = 287.15_esmf_kind_r8, &
78 rv=461.51_esmf_kind_r8, &
81 real(esmf_kind_r8) :: tv, w
86 tv = t(i,j,k)*(1+rd/rv*q(i,j,k))
90 w = -1 * omtmp * rd * tv / (ptmp * g)
Sets up the ESMF grid objects for the input data grid and target FV3 grid.
subroutine rh2spfh(rh_sphum, p, t)
Convert relative humidity to specific humidity.
Utilities for use when reading grib2 data.
subroutine convert_omega(omega, p, t, q, clb, cub)
Convert omega to vertical velocity.