diff --git a/drivers/wrf/module_sf_noahmpdrv.F b/drivers/wrf/module_sf_noahmpdrv.F index 3497f4ef..bcc18719 100644 --- a/drivers/wrf/module_sf_noahmpdrv.F +++ b/drivers/wrf/module_sf_noahmpdrv.F @@ -2004,7 +2004,7 @@ SUBROUTINE NOAHMP_INIT ( MMINLU, SNOW , SNOWH , CANWAT , ISLTYP , IVGTYP, XLAT call read_mp_crop_parameters() call read_tiledrain_parameters() call read_mp_optional_parameters() - if(iopt_irr >= 1) call read_mp_irrigation_parameters() + call read_mp_irrigation_parameters(iopt_irr) IF( .NOT. restart ) THEN @@ -2181,7 +2181,11 @@ SUBROUTINE NOAHMP_INIT ( MMINLU, SNOW , SNOWH , CANWAT , ISLTYP , IVGTYP, XLAT lai (I,J) = max(lai(i,j),0.05) ! at least start with 0.05 for arbitrary initialization (v3.7) xsaixy (I,J) = max(0.1*lai(I,J),0.05) ! MB: arbitrarily initialize SAI using input LAI (v3.7) - masslai = 1000. / max(SLA_TABLE(IVGTYP(I,J)),1.0) ! conversion from lai to mass (v3.7) + if (urbanpt_flag) then + masslai = 1000. / max(SLA_TABLE(NATURAL_TABLE),1.0) ! conversion from lai to mass (v3.7) + else + masslai = 1000. / max(SLA_TABLE(IVGTYP(I,J)),1.0) ! conversion from lai to mass (v3.7) + endif lfmassxy (I,J) = lai(i,j)*masslai ! use LAI to initialize (v3.7) masssai = 1000. / 3.0 ! conversion from lai to mass (v3.7) stmassxy (I,J) = xsaixy(i,j)*masssai ! use SAI to initialize (v3.7) diff --git a/src/module_sf_noahmplsm.F b/src/module_sf_noahmplsm.F index 29f26c91..8cdbfc81 100644 --- a/src/module_sf_noahmplsm.F +++ b/src/module_sf_noahmplsm.F @@ -12188,8 +12188,10 @@ subroutine read_mp_crop_parameters() end subroutine read_mp_crop_parameters - subroutine read_mp_irrigation_parameters() + subroutine read_mp_irrigation_parameters(iopt_irr) implicit none + + INTEGER, INTENT(in) :: iopt_irr integer :: ierr logical :: file_named @@ -12216,12 +12218,18 @@ subroutine read_mp_irrigation_parameters() FIRTFAC_TABLE = -1.0E36 ! flood application rate factor IR_RAIN_TABLE = -1.0E36 ! maximum precipitation to stop irrigation trigger - inquire( file='MPTABLE.TBL', exist=file_named ) - if ( file_named ) then - open(15, file="MPTABLE.TBL", status='old', form='formatted', action='read', iostat=ierr) - else - open(15, status='old', form='formatted', action='read', iostat=ierr) - end if + IF (iopt_irr >= 1) THEN + inquire( file='MPTABLE.TBL', exist=file_named ) + if ( file_named ) then + open(15, file="MPTABLE.TBL", status='old', form='formatted', action='read', iostat=ierr) + else + open(15, status='old', form='formatted', action='read', iostat=ierr) + end if + ELSE + ! Nothing to read, nothing to do + RETURN + + END IF if (ierr /= 0) then write(*,'("WARNING: Cannot find file MPTABLE.TBL")')