diff --git a/lndp_apply_perts.F90 b/lndp_apply_perts.F90 index c88cbba5..835cdf76 100644 --- a/lndp_apply_perts.F90 +++ b/lndp_apply_perts.F90 @@ -74,15 +74,15 @@ subroutine lndp_apply_perts(blksz, lsm, lsm_noah, lsm_ruc, lsm_noahmp, iopt_dveg real(kind=kind_phys), intent(in) :: smcmin(:) ! intent(inout) - real(kind=kind_phys), intent(inout) :: smc(:,:,:) - real(kind=kind_phys), intent(inout) :: slc(:,:,:) - real(kind=kind_phys), intent(inout) :: stc(:,:,:) - real(kind=kind_phys), intent(inout) :: vfrac(:,:) - real(kind=kind_phys), intent(inout) :: snoalb(:,:) - real(kind=kind_phys), intent(inout) :: alnsf(:,:) - real(kind=kind_phys), intent(inout) :: alnwf(:,:) - real(kind=kind_phys), intent(inout) :: semis(:,:) - real(kind=kind_phys), intent(inout) :: zorll(:,:) + real(kind=kind_phys), intent(inout), optional :: smc(:,:,:) + real(kind=kind_phys), intent(inout), optional :: slc(:,:,:) + real(kind=kind_phys), intent(inout), optional :: stc(:,:,:) + real(kind=kind_phys), intent(inout), optional :: vfrac(:,:) + real(kind=kind_phys), intent(inout), optional :: snoalb(:,:) + real(kind=kind_phys), intent(inout), optional :: alnsf(:,:) + real(kind=kind_phys), intent(inout), optional :: alnwf(:,:) + real(kind=kind_phys), intent(inout), optional :: semis(:,:) + real(kind=kind_phys), intent(inout), optional :: zorll(:,:) ! intent(out) integer, intent(out) :: ierr diff --git a/stochastic_physics.F90 b/stochastic_physics.F90 index 0f1699f2..9f731cd4 100644 --- a/stochastic_physics.F90 +++ b/stochastic_physics.F90 @@ -56,11 +56,11 @@ subroutine init_stochastic_physics(levs, blksz, dtp, sppt_amp, input_nml_file_in real(kind=kind_phys), intent(in) :: ak(:), bk(:) logical, intent(out) :: use_zmtnblck_out integer, intent(out) :: skeb_npass_out -character(len=3), dimension(:), intent(out) :: lndp_var_list_out -real(kind=kind_phys), dimension(:), intent(out) :: lndp_prt_list_out -character(len=10), dimension(:), intent(out) :: spp_var_list_out -real(kind=kind_phys), dimension(:), intent(out) :: spp_prt_list_out -real(kind=kind_phys), dimension(:), intent(out) :: spp_stddev_cutoff_out +character(len=3), optional, dimension(:), intent(out) :: lndp_var_list_out +real(kind=kind_phys), optional, dimension(:), intent(out) :: lndp_prt_list_out +character(len=10), optional, dimension(:), intent(out) :: spp_var_list_out +real(kind=kind_phys), optional, dimension(:), intent(out) :: spp_prt_list_out +real(kind=kind_phys), optional, dimension(:), intent(out) :: spp_stddev_cutoff_out ! Local variables @@ -356,12 +356,12 @@ subroutine run_stochastic_physics(levs, kdt, fhour, blksz, sppt_wts, shum_wts, s integer, intent(in) :: levs, kdt real(kind=kind_phys), intent(in) :: fhour integer, intent(in) :: blksz(:) -real(kind=kind_phys), intent(inout) :: sppt_wts(:,:,:) -real(kind=kind_phys), intent(inout) :: shum_wts(:,:,:) -real(kind=kind_phys), intent(inout) :: skebu_wts(:,:,:) -real(kind=kind_phys), intent(inout) :: skebv_wts(:,:,:) -real(kind=kind_phys), intent(inout) :: sfc_wts(:,:,:) -real(kind=kind_phys), intent(inout) :: spp_wts(:,:,:,:) +real(kind=kind_phys), intent(inout), optional :: sppt_wts(:,:,:) +real(kind=kind_phys), intent(inout), optional :: shum_wts(:,:,:) +real(kind=kind_phys), intent(inout), optional :: skebu_wts(:,:,:) +real(kind=kind_phys), intent(inout), optional :: skebv_wts(:,:,:) +real(kind=kind_phys), intent(inout), optional :: sfc_wts(:,:,:) +real(kind=kind_phys), intent(inout), optional :: spp_wts(:,:,:,:) integer, intent(in) :: nthreads real(kind_dbl_prec),allocatable :: tmp_wts(:,:),tmpu_wts(:,:,:),tmpv_wts(:,:,:),tmpl_wts(:,:,:),tmp_spp_wts(:,:,:)