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

master update from dtc/develop 2019/12/17 #372

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
a0a8981
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Aug 20, 2019
7092334
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Sep 17, 2019
26b2c57
reorganize GWD interstitial schemes; create GFS_GWD_generic_post that…
grantfirl Oct 22, 2019
0eed003
use the namelist filename passed in to cires_ugwp_module.F90 rather t…
grantfirl Oct 23, 2019
c1f1a67
add option for INTERNAL_FILE_NML preprocessor directive
grantfirl Oct 24, 2019
8d7970c
add initial NoahMP docs to CCPP scientific docs
grantfirl Oct 25, 2019
d0f4e50
Merge pull request #3 from NCAR/gmtb/develop
panll Nov 1, 2019
d8e5653
modified for coupling, removing:
linlin-pan Nov 1, 2019
20f23e1
Merge branch 'master' of https://github.com/NCAR/ccpp-physics
grantfirl Nov 1, 2019
59717c5
Merge branch 'master' into cires_ugwp_namelist_fix
grantfirl Nov 1, 2019
42c56e2
Merge pull request #348 from panll/gmtb/develop
climbfuji Nov 3, 2019
b2d67d8
Merge branch 'cires_ugwp_namelist_fix' into gwd_interstitial_reorg
grantfirl Nov 4, 2019
4b46d26
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Nov 4, 2019
86276c1
physics/ozphys.*, physics/ozphys_2015.*: add guard to prevent mismatc…
climbfuji Nov 5, 2019
291153c
Merge branch 'cires_ugwp_namelist_fix' of https://github.com/grantfir…
climbfuji Nov 5, 2019
6d0a40c
Merge pull request #343 from grantfirl/cires_ugwp_namelist_fix
grantfirl Nov 6, 2019
333980d
Merge pull request #350 from climbfuji/ozphys_guard_based_on_dtc_develop
grantfirl Nov 7, 2019
12b644a
modified: cires_ugwp.F90
bluefinweiwei Nov 13, 2019
b93c035
GFS_surface_composites.F90: apply missing change for fv3atm pr8
climbfuji Nov 14, 2019
74851c1
Merge pull request #342 from grantfirl/gwd_interstitial_reorg
grantfirl Nov 15, 2019
f76a23d
tentatively fixed gfortran compilation error in ugwp_driver_v0.F
grantfirl Nov 15, 2019
8300bfa
physics/GFS_SCNV_generic.*, physics/samfshalcnv.*: remove module samf…
climbfuji Nov 18, 2019
3bec6c5
physics/satmedmfvdif.*, physics/tridi.f: move subroutine tridit to tr…
climbfuji Nov 18, 2019
e45cb37
physics/satmedmfvdifq.* physics/mfpbltq.f physics/mfscuq.f: add satme…
climbfuji Nov 18, 2019
2d5a8e8
physics/sascnvn.*, physics/shalcnv.*: add SAS deep and shallow convec…
climbfuji Nov 18, 2019
bd47378
physics/sascnvn.meta: bugfix, use correct variable for cloud work fun…
climbfuji Nov 19, 2019
cbbac67
mfpbltq.f, mfscuq.f, satmedmfvdifq.F: change comments in code from "H…
climbfuji Nov 20, 2019
a7c38a6
Merge pull request #355 from climbfuji/add_sas_and_satmedmfvdifq
climbfuji Nov 20, 2019
c960b4c
Merge branch 'dtc/develop' into fix_cires_ugwp_compilation_warning
grantfirl Nov 21, 2019
27c21db
From @mzhangw: add Ferrier-Aligo microphysics scheme and make corresp…
climbfuji Nov 22, 2019
ed8d6b9
Merge pull request #358 from climbfuji/man_fa_squashed
climbfuji Nov 22, 2019
73b8c0d
Merge pull request #354 from grantfirl/fix_cires_ugwp_compilation_war…
climbfuji Nov 25, 2019
73bbc9f
Merge gsd/develop into dtc/develop, squashed commit of the following:
climbfuji Nov 26, 2019
988e95a
physics/GFS_suite_interstitial.*: use new imfdeepcnv_gf parameter ins…
climbfuji Nov 26, 2019
17f585a
physics/drag_suite.F90: bugfix, initialize rstoch to zero (since SPP …
climbfuji Nov 26, 2019
80edd78
physics/sfc_drv_ruc.F90: remove comment line that was left mistakenly
climbfuji Nov 26, 2019
ac7e80d
Merge pull request #359 from climbfuji/merge_gsd_develop_and_drag_sui…
climbfuji Nov 27, 2019
ee994cb
Merge branch 'master' of https://github.com/NCAR/ccpp-physics into HEAD
climbfuji Nov 27, 2019
2e0d557
Merge branch 'missing_cplflx_change_for_fv3atm_pr8' of https://github…
climbfuji Nov 27, 2019
c11b6e8
Update of physics/satmedmfvdifq.F to reflect changes in IPD version
climbfuji Nov 27, 2019
efec724
physics/drag_suite.F90: bugfix to prevent use of uninitialized variab…
climbfuji Nov 30, 2019
308a197
Thompson MP: improve diagnostic messages for negative qv/qr/qs/... an…
climbfuji Dec 2, 2019
e3131e4
add preprocessor directive around MPI_BCAST statements for non-MPI co…
grantfirl Dec 2, 2019
7041bd2
Merge pull request #363 from grantfirl/fix_no_mpi_compile_FA
climbfuji Dec 3, 2019
e989adc
replace MPI_ABORT in physics/module_MP_FER_HIRES.F90 with setting CCP…
grantfirl Dec 3, 2019
f895fc0
Merge pull request #360 from climbfuji/dtc_develop_udpate_from_emc_20…
climbfuji Dec 3, 2019
7d9cf52
move calculation of precipitation rates needed by NoahMP LSM to GFS_M…
grantfirl Dec 5, 2019
c2ea31b
Merge branch 'fix_no_mpi_compile_FA' of https://github.com/grantfirl/…
climbfuji Dec 5, 2019
0858345
Merge branch 'dtc/develop' into NoahMP_docs
grantfirl Dec 6, 2019
e0e91d8
update the NoahMP mainpage to reflect info from Helin Wei
grantfirl Dec 6, 2019
b10e93b
Merge branch 'NoahMP_docs' of https://github.com/grantfirl/ccpp-physi…
climbfuji Dec 6, 2019
feb0a39
Merge branch 'ugwp_doc' of https://github.com/bluefinweiwei/ccpp-phys…
climbfuji Dec 6, 2019
4dbe318
Merge branch 'fix_noahmp_precip_rates' of https://github.com/grantfir…
climbfuji Dec 6, 2019
812f8b6
fix array dimensions for phii, prsi in ugwp_driver_v0.F
grantfirl Dec 6, 2019
49deeca
Merge branch 'fix_cires_ugwp_dimension_bug' of https://github.com/gra…
climbfuji Dec 6, 2019
3fad556
Merge pull request #365 from grantfirl/fix_noahmp_precip_rates
climbfuji Dec 9, 2019
02812f6
Merge pull request #366 from climbfuji/update_dtc_develop_from_emc_de…
climbfuji Dec 9, 2019
bf549a0
Apply missing code change for coupled model runs in physics/GFS_surfa…
climbfuji Dec 18, 2019
608b3c9
Mirror updates to IPD physics in CCPP
climbfuji Dec 26, 2019
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
17 changes: 12 additions & 5 deletions physics/GFS_DCNV_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,17 @@ end subroutine GFS_DCNV_generic_pre_finalize
!! \htmlinclude GFS_DCNV_generic_pre_run.html
!!
#endif
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, &
subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca, cplchm,&
isppt_deep, gu0, gv0, gt0, gq0_water_vapor, &
save_u, save_v, save_t, save_qv, ca_deep, &
errmsg, errflg)
dqdti, errmsg, errflg)

use machine, only: kind_phys
use machine, only: kind_phys

implicit none

integer, intent(in) :: im, levs
logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, isppt_deep
logical, intent(in) :: ldiag3d, do_cnvgwd, do_ca, cplchm, isppt_deep
real(kind=kind_phys), dimension(im,levs), intent(in) :: gu0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gv0
real(kind=kind_phys), dimension(im,levs), intent(in) :: gt0
Expand All @@ -37,9 +37,12 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca,
real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_t
real(kind=kind_phys), dimension(im,levs), intent(inout) :: save_qv
real(kind=kind_phys), dimension(im), intent(in) :: ca_deep
! dqdti only allocated if cplchm is .true.
real(kind=kind_phys), dimension(:,:), intent(inout) :: dqdti
character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

real(kind=kind_phys), parameter :: zero = 0.0d0
integer :: i, k

! Initialize CCPP error handling variables
Expand Down Expand Up @@ -70,14 +73,18 @@ subroutine GFS_DCNV_generic_pre_run (im, levs, ldiag3d, do_cnvgwd, do_ca,
enddo
endif

if (ldiag3d .or. isppt_deep) then
if (ldiag3d .or. cplchm .or. isppt_deep) then
do k=1,levs
do i=1,im
save_qv(i,k) = gq0_water_vapor(i,k)
enddo
enddo
endif

if (cplchm) then
dqdti = zero
endif

end subroutine GFS_DCNV_generic_pre_run

end module GFS_DCNV_generic_pre
Expand Down
17 changes: 17 additions & 0 deletions physics/GFS_DCNV_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@
type = logical
intent = in
optional = F
[cplchm]
standard_name = flag_for_chemistry_coupling
long_name = flag controlling cplchm collection (default off)
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[isppt_deep]
standard_name = flag_for_combination_of_sppt_with_isppt_deep
long_name = switch for combination with isppt_deep.
Expand Down Expand Up @@ -130,6 +138,15 @@
kind = kind_phys
intent = in
optional = F
[dqdti]
standard_name = instantaneous_water_vapor_specific_humidity_tendency_due_to_convection
long_name = instantaneous moisture tendency due to convection
units = kg kg-1 s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
Expand Down
64 changes: 57 additions & 7 deletions physics/GFS_GWD_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@ module GFS_GWD_generic_pre

contains

!> \section arg_table_GFS_GWD_generic_pre_init Argument Table
!!
subroutine GFS_GWD_generic_pre_init()
end subroutine GFS_GWD_generic_pre_init

Expand Down Expand Up @@ -105,12 +103,64 @@ subroutine GFS_GWD_generic_pre_run( &
end subroutine GFS_GWD_generic_pre_run
!> @}

! \ingroup GFS_ogwd
! \brief Brief description of the subroutine
!
!> \section arg_table_GFS_GWD_generic_pre_finalize Argument Table
!!
subroutine GFS_GWD_generic_pre_finalize()
end subroutine GFS_GWD_generic_pre_finalize

end module GFS_GWD_generic_pre

!> This module contains the CCPP-compliant orographic gravity wave drag post
!! interstitial codes.
module GFS_GWD_generic_post

contains


subroutine GFS_GWD_generic_post_init()
end subroutine GFS_GWD_generic_post_init

!! \section arg_table_GFS_GWD_generic_post_run Argument Table
!! \htmlinclude GFS_GWD_generic_post_run.html
!!
!! \section general General Algorithm
!! \section detailed Detailed Algorithm
!! @{
subroutine GFS_GWD_generic_post_run(lssav, ldiag3d, dtf, dusfcg, dvsfcg, dudt, dvdt, dtdt, &
& dugwd, dvgwd, du3dt, dv3dt, dt3dt, errmsg, errflg)

use machine, only : kind_phys
implicit none

logical, intent(in) :: lssav, ldiag3d

real(kind=kind_phys), intent(in) :: dusfcg(:), dvsfcg(:)
real(kind=kind_phys), intent(in) :: dudt(:,:), dvdt(:,:), dtdt(:,:)
real(kind=kind_phys), intent(in) :: dtf

real(kind=kind_phys), intent(inout) :: dugwd(:), dvgwd(:)
real(kind=kind_phys), intent(inout) :: du3dt(:,:), dv3dt(:,:), dt3dt(:,:)

character(len=*), intent(out) :: errmsg
integer, intent(out) :: errflg

! Initialize CCPP error handling variables
errmsg = ''
errflg = 0

if (lssav) then
dugwd(:) = dugwd(:) + dusfcg(:)*dtf
dvgwd(:) = dvgwd(:) + dvsfcg(:)*dtf

if (ldiag3d) then
du3dt(:,:) = du3dt(:,:) + dudt(:,:) * dtf
dv3dt(:,:) = dv3dt(:,:) + dvdt(:,:) * dtf
dt3dt(:,:) = dt3dt(:,:) + dtdt(:,:) * dtf
endif
endif

end subroutine GFS_GWD_generic_post_run
!> @}

subroutine GFS_GWD_generic_post_finalize()
end subroutine GFS_GWD_generic_post_finalize

end module GFS_GWD_generic_post
137 changes: 137 additions & 0 deletions physics/GFS_GWD_generic.meta
Original file line number Diff line number Diff line change
Expand Up @@ -167,3 +167,140 @@
[ccpp-arg-table]
name = GFS_GWD_generic_pre_finalize
type = scheme

########################################################################
[ccpp-arg-table]
name = GFS_GWD_generic_post_run
type = scheme
[lssav]
standard_name = flag_diagnostics
long_name = flag for calculating diagnostic fields
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[ldiag3d]
standard_name = flag_diagnostics_3D
long_name = flag for calculating 3-D diagnostic fields
units = flag
dimensions = ()
type = logical
intent = in
optional = F
[dtf]
standard_name = time_step_for_dynamics
long_name = dynamics time step
units = s
dimensions = ()
type = real
kind = kind_phys
intent = in
optional = F
[dusfcg]
standard_name = instantaneous_x_stress_due_to_gravity_wave_drag
long_name = zonal surface stress due to orographic gravity wave drag
units = Pa
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dvsfcg]
standard_name = instantaneous_y_stress_due_to_gravity_wave_drag
long_name = meridional surface stress due to orographic gravity wave drag
units = Pa
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dudt]
standard_name = tendency_of_x_wind_due_to_model_physics
long_name = zonal wind tendency due to model physics
units = m s-2
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dvdt]
standard_name = tendency_of_y_wind_due_to_model_physics
long_name = meridional wind tendency due to model physics
units = m s-2
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dtdt]
standard_name = tendency_of_air_temperature_due_to_model_physics
long_name = air temperature tendency due to model physics
units = K s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = in
optional = F
[dugwd]
standard_name = time_integral_of_x_stress_due_to_gravity_wave_drag
long_name = integral over time of zonal stress due to gravity wave drag
units = Pa s
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dvgwd]
standard_name = time_integral_of_y_stress_due_to_gravity_wave_drag
long_name = integral over time of meridional stress due to gravity wave drag
units = Pa s
dimensions = (horizontal_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[du3dt]
standard_name = cumulative_change_in_x_wind_due_to_orographic_gravity_wave_drag
long_name = cumulative change in zonal wind due to orographic gravity wave drag
units = m s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dv3dt]
standard_name = cumulative_change_in_y_wind_due_to_orographic_gravity_wave_drag
long_name = cumulative change in meridional wind due to orographic gravity wave drag
units = m s-1
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[dt3dt]
standard_name = cumulative_change_in_temperature_due_to_orographic_gravity_wave_drag
long_name = cumulative change in temperature due to orographic gravity wave drag
units = K
dimensions = (horizontal_dimension,vertical_dimension)
type = real
kind = kind_phys
intent = inout
optional = F
[errmsg]
standard_name = ccpp_error_message
long_name = error message for error handling in CCPP
units = none
dimensions = ()
type = character
kind = len=*
intent = out
optional = F
[errflg]
standard_name = ccpp_error_flag
long_name = error flag for error handling in CCPP
units = flag
dimensions = ()
type = integer
intent = out
optional = F
39 changes: 28 additions & 11 deletions physics/GFS_MP_generic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -81,19 +81,19 @@ end subroutine GFS_MP_generic_post_init
!> \section gfs_mp_gen GFS MP Generic Post General Algorithm
!> @{
subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, ntrac, imp_physics, imp_physics_gfdl, &
imp_physics_thompson, imp_physics_mg, cal_pre, lssav, ldiag3d, cplflx, cplchm, con_g, dtf, frain, rainc, rain1, &
imp_physics_thompson, imp_physics_mg, imp_physics_fer_hires, cal_pre, lssav, ldiag3d, cplflx, cplchm, con_g, dtf, frain, rainc, rain1, &
rann, xlat, xlon, gt0, gq0, prsl, prsi, phii, tsfc, ice, snow, graupel, save_t, save_qv, rain0, ice0, snow0, &
graupel0, del, rain, domr_diag, domzr_diag, domip_diag, doms_diag, tprcp, srflag, sr, cnvprcp, totprcp, totice, &
totsnw, totgrp, cnvprcpb, totprcpb, toticeb, totsnwb, totgrpb, dt3dt, dq3dt, rain_cpl, rainc_cpl, snow_cpl, pwat, &
do_sppt, dtdtr, dtdtc, drain_cpl, dsnow_cpl, lsm, lsm_ruc, raincprv, rainncprv, iceprv, snowprv, graupelprv, &
dtp, errmsg, errflg)
do_sppt, dtdtr, dtdtc, drain_cpl, dsnow_cpl, lsm, lsm_ruc, lsm_noahmp, raincprv, rainncprv, iceprv, snowprv, &
graupelprv, draincprv, drainncprv, diceprv, dsnowprv, dgraupelprv, dtp, errmsg, errflg)
!
use machine, only: kind_phys

implicit none

integer, intent(in) :: im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, ntrac
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg
integer, intent(in) :: imp_physics, imp_physics_gfdl, imp_physics_thompson, imp_physics_mg, imp_physics_fer_hires
logical, intent(in) :: cal_pre, lssav, ldiag3d, cplflx, cplchm

real(kind=kind_phys), intent(in) :: dtf, frain, con_g
Expand All @@ -120,13 +120,18 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
real(kind=kind_phys), dimension(im), intent(inout) :: drain_cpl
real(kind=kind_phys), dimension(im), intent(inout) :: dsnow_cpl

! Rainfall variables previous time step (update for RUC LSM)
integer, intent(in) :: lsm, lsm_ruc
! Rainfall variables previous time step
integer, intent(in) :: lsm, lsm_ruc, lsm_noahmp
real(kind=kind_phys), dimension(im), intent(inout) :: raincprv
real(kind=kind_phys), dimension(im), intent(inout) :: rainncprv
real(kind=kind_phys), dimension(im), intent(inout) :: iceprv
real(kind=kind_phys), dimension(im), intent(inout) :: snowprv
real(kind=kind_phys), dimension(im), intent(inout) :: graupelprv
real(kind=kind_phys), dimension(im), intent(inout) :: draincprv
real(kind=kind_phys), dimension(im), intent(inout) :: drainncprv
real(kind=kind_phys), dimension(im), intent(inout) :: diceprv
real(kind=kind_phys), dimension(im), intent(inout) :: dsnowprv
real(kind=kind_phys), dimension(im), intent(inout) :: dgraupelprv

real(kind=kind_phys), intent(in) :: dtp

Expand All @@ -152,7 +157,7 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
errflg = 0

onebg = one/con_g

do i = 1, im
rain(i) = rainc(i) + frain * rain1(i) ! time-step convective plus explicit
enddo
Expand All @@ -179,15 +184,28 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
graupel = frain*graupel0 ! time-step graupel
ice = frain*ice0 ! time-step ice
snow = frain*snow0 ! time-step snow
end if

if (lsm==lsm_ruc) then
if (imp_physics == imp_physics_gfdl .or. imp_physics == imp_physics_thompson) then
else if (imp_physics == imp_physics_fer_hires) then
tprcp = max (0.,rain) ! time-step convective and explicit precip
ice = frain*rain1*sr ! time-step ice
end if

if (lsm==lsm_ruc .or. lsm==lsm_noahmp) then
raincprv(:) = rainc(:)
rainncprv(:) = frain * rain1(:)
iceprv(:) = ice(:)
snowprv(:) = snow(:)
graupelprv(:) = graupel(:)
!for NoahMP, calculate precipitation rates from liquid water equivalent thickness for use in next time step
!Note (GJF): Precipitation LWE thicknesses are multiplied by the frain factor, and are thus on the dynamics time step, but the conversion as written
! (with dtp in the denominator) assumes the rate is calculated on the physics time step. This only works as expected when dtf=dtp (i.e. when frain=1).
if (lsm == lsm_noahmp) then
tem = 1.0 / (dtp*con_p001) !GJF: This conversion was taken from GFS_physics_driver.F90, but should denominator also have the frain factor?
draincprv(:) = tem * raincprv(:)
drainncprv(:) = tem * rainncprv(:)
dsnowprv(:) = tem * snowprv(:)
dgraupelprv(:) = tem * graupelprv(:)
diceprv(:) = tem * iceprv(:)
end if
end if

Expand Down Expand Up @@ -296,7 +314,6 @@ subroutine GFS_MP_generic_post_run(im, ix, levs, kdt, nrcm, ncld, nncl, ntcw, nt
! if (snow0(i)+ice0(i)+graupel0(i)+csnow > 0.0) then
! Sfcprop%srflag(i) = 1. ! clu: set srflag to 'snow' (i.e. 1)
! endif
! compute fractional srflag
total_precip = snow0(i)+ice0(i)+graupel0(i)+rain0(i)+rainc(i)
if (total_precip > rainmin) then
srflag(i) = (snow0(i)+ice0(i)+graupel0(i)+csnow)/total_precip
Expand Down
Loading