Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rucice with bugfixes (replaces #57) #63

Closed
wants to merge 15 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 13 additions & 12 deletions physics/GFS_debug.F90
Original file line number Diff line number Diff line change
Expand Up @@ -491,18 +491,19 @@ subroutine GFS_diagtoscreen_run (Model, Statein, Stateout, Sfcprop, Coupling,
end if
! CCPP/RUC only
if (Model%lsm == Model%lsm_ruc) then
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sh2o', Sfcprop%sh2o)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%smois', Sfcprop%smois)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tslb', Sfcprop%tslb)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%zs', Sfcprop%zs)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%clw_surf', Sfcprop%clw_surf)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qwv_surf', Sfcprop%qwv_surf)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%cndm_surf', Sfcprop%cndm_surf)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%flag_frsoil', Sfcprop%flag_frsoil)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%rhofr', Sfcprop%rhofr)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsnow', Sfcprop%tsnow)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowfallac ', Sfcprop%snowfallac)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%acsnow ', Sfcprop%acsnow)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%sh2o', Sfcprop%sh2o)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%smois', Sfcprop%smois)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tslb', Sfcprop%tslb)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%clw_surf_land', Sfcprop%clw_surf_land)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%clw_surf_ice', Sfcprop%clw_surf_ice)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qwv_surf_land', Sfcprop%qwv_surf_land)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%qwv_surf_ice', Sfcprop%qwv_surf_ice)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%flag_frsoil', Sfcprop%flag_frsoil)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%rhofr', Sfcprop%rhofr)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsnow_land', Sfcprop%tsnow_land)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%tsnow_ice', Sfcprop%tsnow_ice)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowfallac_land', Sfcprop%snowfallac_land)
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Sfcprop%snowfallac_ice', Sfcprop%snowfallac_ice)
end if
! Radtend
call print_var(mpirank, omprank, blkno, Grid%xlat_d, Grid%xlon_d, 'Radtend%sfcfsw%upfxc', Radtend%sfcfsw(:)%upfxc)
Expand Down
1 change: 1 addition & 0 deletions physics/GFS_phys_time_vary.fv3.F90
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,7 @@ subroutine GFS_phys_time_vary_run (Data, Model, nthrds, first_time_step, errmsg,
endif
enddo
enddo
! DH* 20201104: don't forget snocvr_ice for RUC LSM (see FV3GFS_io.F90)
endif
endif
#endif
Expand Down
1 change: 1 addition & 0 deletions physics/GFS_phys_time_vary.scm.F90
Original file line number Diff line number Diff line change
Expand Up @@ -389,6 +389,7 @@ subroutine GFS_phys_time_vary_run (Grid, Statein, Model, Tbd, Sfcprop, Cldprop,
endif
endif
enddo
! DH* 20201104: don't forget snocvr_ice for RUC LSM (see FV3GFS_io.F90)
endif
endif
#endif
Expand Down
2 changes: 1 addition & 1 deletion physics/GFS_surface_composites.F90
Original file line number Diff line number Diff line change
Expand Up @@ -574,7 +574,7 @@ subroutine GFS_surface_composites_post_run (
tsfco(i) = tsfc(i)
endif
tsfcl(i) = tsfc(i)
do k=1,kice ! store tiice in stc to reduce output in the nonfrac grid case
do k=1,min(kice,km) ! store tiice in stc to reduce output in the nonfrac grid case
stc(i,k)=tiice(i,k)
end do
endif
Expand Down
123 changes: 0 additions & 123 deletions physics/lsm_ruc_sfc_sice_interstitial.F90

This file was deleted.

23 changes: 16 additions & 7 deletions physics/module_MYNNSFC_wrapper.F90
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ end subroutine mynnsfc_wrapper_finalize
SUBROUTINE mynnsfc_wrapper_run( &
& im,levs, &
& itimestep,iter, &
& flag_init,flag_restart,lsm, &
& flag_init,flag_restart,lsm,lsm_ruc,&
& sigmaf,vegtype,shdmax,ivegsrc, & !intent(in)
& z0pert,ztpert, & !intent(in)
& redrag,sfc_z0_type, & !intent(in)
Expand All @@ -54,7 +54,8 @@ SUBROUTINE mynnsfc_wrapper_run( &
& fh2_ocn, fh2_lnd, fh2_ice, & !intent(inout)
& hflx_ocn, hflx_lnd, hflx_ice, &
& qflx_ocn, qflx_lnd, qflx_ice, &
& QSFC, qsfc_ruc, USTM, ZOL, MOL, &
& QSFC, qsfc_lnd_ruc, qsfc_ice_ruc, &
& USTM, ZOL, MOL, &
& RMOL, WSPD, ch, HFLX, QFLX, LH, &
& FLHC, FLQC, &
& U10, V10, TH2, T2, Q2, &
Expand Down Expand Up @@ -122,7 +123,7 @@ SUBROUTINE mynnsfc_wrapper_run( &
!MYNN-1D
REAL :: delt
INTEGER :: im, levs
INTEGER :: iter, k, i, itimestep, lsm
INTEGER :: iter, k, i, itimestep, lsm, lsm_ruc
LOGICAL :: flag_init,flag_restart,lprnt
INTEGER :: IDS,IDE,JDS,JDE,KDS,KDE, &
& IMS,IME,JMS,JME,KMS,KME, &
Expand Down Expand Up @@ -160,19 +161,20 @@ SUBROUTINE mynnsfc_wrapper_run( &
& qsfc_ocn, qsfc_lnd, qsfc_ice

!MYNN-2D
real(kind=kind_phys), dimension(im), intent(in) :: &
& dx, pblh, slmsk, ps
real(kind=kind_phys), dimension(:), intent(in) :: &
& dx, pblh, slmsk, ps, &
& qsfc_lnd_ruc, qsfc_ice_ruc

real(kind=kind_phys), dimension(im), intent(inout) :: &
& ustm, hflx, qflx, wspd, qsfc, qsfc_ruc, &
& ustm, hflx, qflx, wspd, qsfc, &
& FLHC, FLQC, U10, V10, TH2, T2, Q2, &
& CHS2, CQS2, rmol, zol, mol, ch, &
& lh, wstar
!LOCAL
real, dimension(im) :: &
& hfx, znt, psim, psih, &
& chs, ck, cd, mavail, xland, GZ1OZ0, &
& cpm, qgh, qfx
& cpm, qgh, qfx, qsfc_ruc

! Initialize CCPP error handling variables
errmsg = ''
Expand Down Expand Up @@ -216,6 +218,13 @@ SUBROUTINE mynnsfc_wrapper_run( &
where (wet) znt_ocn=znt_ocn*0.01
where (icy) znt_ice=znt_ice*0.01

! qsfc ruc
qsfc_ruc = 0.0
if (lsm==lsm_ruc) then
where (dry) qsfc_ruc = qsfc_lnd_ruc
where (icy) qsfc_ruc = qsfc_ice_ruc
end if

! if (lprnt) then
! write(0,*)"CALLING SFCLAY_mynn; input:"
! write(0,*)"T:",t3d(1,1),t3d(1,2),t3d(1,3)
Expand Down
25 changes: 21 additions & 4 deletions physics/module_MYNNSFC_wrapper.meta
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@
type = integer
intent = in
optional = F
[lsm_ruc]
standard_name = flag_for_ruc_land_surface_scheme
long_name = flag for RUC land surface model
units = flag
dimensions = ()
type = integer
intent = in
optional = F
[sigmaf]
standard_name = bounded_vegetation_area_fraction
long_name = areal fractional cover of green vegetation bounded on the bottom
Expand Down Expand Up @@ -713,14 +721,23 @@
kind = kind_phys
intent = inout
optional = F
[qsfc_ruc]
standard_name = water_vapor_mixing_ratio_at_surface
long_name = water vapor mixing ratio at surface
[qsfc_lnd_ruc]
standard_name = water_vapor_mixing_ratio_at_surface_over_land
long_name = water vapor mixing ratio at surface over land
units = kg kg-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
intent = in
optional = F
[qsfc_ice_ruc]
standard_name = water_vapor_mixing_ratio_at_surface_over_ice
long_name = water vapor mixing ratio at surface over ice
units = kg kg-1
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[ustm]
standard_name = surface_friction_velocity_drag
Expand Down
1 change: 1 addition & 0 deletions physics/module_mp_thompson.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1784,6 +1784,7 @@ subroutine mp_thompson (qv1d, qc1d, qi1d, qr1d, qs1d, qg1d, ni1d, &
rho(k) = 0.622*pres(k)/(R*temp(k)*(qv(k)+0.622))
nwfa(k) = MAX(11.1E6, MIN(9999.E6, nwfa1d(k)*rho(k)))
nifa(k) = MAX(naIN1*0.01, MIN(9999.E6, nifa1d(k)*rho(k)))
mvd_r(k) = D0r

if (qc1d(k) .gt. R1) then
no_micro = .false.
Expand Down
8 changes: 4 additions & 4 deletions physics/module_sf_mynn.F90
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ SUBROUTINE SFCLAY_mynn( &
CP,G,ROVCP,R,XLV, & !in
SVP1,SVP2,SVP3,SVPT0,EP1,EP2,KARMAN, & !in
ISFFLX,isftcflx,lsm,iz0tlnd,psi_opt, & !in
& sigmaf,vegtype,shdmax,ivegsrc, & !intent(in)
& sigmaf,vegtype,shdmax,ivegsrc, & !intent(in)
& z0pert,ztpert, & !intent(in)
& redrag,sfc_z0_type, & !intent(in)
itimestep,iter, & !in
Expand Down Expand Up @@ -351,7 +351,8 @@ SUBROUTINE SFCLAY_mynn( &
REAL, DIMENSION( ims:ime ), INTENT(IN) :: &
& tskin_ocn, tskin_lnd, tskin_ice, &
& tsurf_ocn, tsurf_lnd, tsurf_ice, &
& snowh_ocn, snowh_lnd, snowh_ice
& snowh_ocn, snowh_lnd, snowh_ice, &
& qsfc_ruc

REAL, DIMENSION( ims:ime), INTENT(INOUT) :: &
& ZNT_ocn, ZNT_lnd, ZNT_ice, &
Expand All @@ -366,8 +367,7 @@ SUBROUTINE SFCLAY_mynn( &
& fh2_ocn, fh2_lnd, fh2_ice, &
& HFLX_ocn, HFLX_lnd, HFLX_ice, &
& QFLX_ocn, QFLX_lnd, QFLX_ice, &
& qsfc_ocn, qsfc_lnd, qsfc_ice, &
& qsfc_ruc
& qsfc_ocn, qsfc_lnd, qsfc_ice

!ADDITIONAL OUTPUT
!JOE-begin
Expand Down
Loading