From 575e84268d886768ac99343dd05706e0cf89440a Mon Sep 17 00:00:00 2001 From: Cenlin_He Date: Tue, 30 Nov 2021 20:50:06 -0700 Subject: [PATCH 1/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0db7eb41..18a0e752 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Noah-MP Community Repository This is the official Noah-MP unified Github repository for code downloading and contribution. Note that Noah-MP is a community model contributed by the whole Noah-MP scientific community. For maintenance and release of this GitHub, please contact: Cenlin He (cenlinhe@ucar.edu) and Fei Chen (feichen@ucar.edu). -Some changes have been made to the structure of archiving the stand-alone version of Noah-MP/HRLDAS code in the Github repository. Now, it separately archives the core Noah-MP source code and parameter table (module_sf_noahmplsm.F & MPTABLE.TBL) in this unified Noah-MP Github repository and the rest of the driver and related files (e.g., module_sf_noahmpdrv.F, etc.) in another unified HRLDAS Github repository (https://github.com/NCAR/hrldas). The HRLDAS Github repo is already linked to this unified core Noah-MP code repository. This new archiving structure will allow different host model platforms/systems (e.g., HRLDAS, WRF, UFS, NWM, LIS, etc.) to connect to the core Noah-MP source code and develop their own host model drivers. +Some changes have been made to the structure of archiving the stand-alone version of Noah-MP/HRLDAS code in the Github repository. Now, it separately archives the core Noah-MP source code, Noah-MP driver, and parameter tables in this unified Noah-MP Github repository and the rest of the HRLDAS related files (e.g., module_sf_urban.F, etc.) in another unified HRLDAS Github repository (https://github.com/NCAR/hrldas). The HRLDAS Github repo is already linked to this unified core Noah-MP code repository. This new archiving structure will allow different host model platforms/systems (e.g., HRLDAS, WRF, UFS, NWM, LIS, etc.) to connect to the core Noah-MP source code and develop their own host model drivers. Model developers can make code development based on the develop branch and create pull request to the develop branch. The pull request will be reviewed by Noah-MP model release team and if everything looks good, the new code development will be merged to the develop branch. Eventually, the updates in the develop branch will be merged to the master branch for official Noah-MP model release. @@ -36,4 +36,4 @@ Some suggestions for model developers to contribute to Noah-MP code through the 7. Step (7) The Noah-MP release team will merge the updated "develop" branch to the master branch and version-release branch during the annual model release. -Note: If updates are made to both the core NoahMP source code (module_sf_noahmplsm.F & MPTABLE.TBL) and other driver files (e.g., module_sf_noahmpdrv.F), two separate pull requests need to be submitted to this NoahMP repository and the HRLDAS repository (https://github.com/NCAR/hrldas), respectively, regarding the changes in the core code file and other driver files. This could be done by using the same titles for the two pull requests to ensure that the submitted code changes are handled together by the release team in the two repositories. +Note: If updates are made to both the core NoahMP source codes and other HRLDAS files, two separate pull requests need to be submitted to this NoahMP repository and the HRLDAS repository (https://github.com/NCAR/hrldas), respectively, regarding the changes in the Noah-MP code files and other HRLDAS-related files. This could be done by using the same titles for the two pull requests to ensure that the submitted code changes are handled together by the release team in the two repositories. From 1e3dede2eb4c048f391cbc131162a682a44f89f8 Mon Sep 17 00:00:00 2001 From: cenlinhe Date: Mon, 6 Dec 2021 20:27:39 -0700 Subject: [PATCH 2/5] re-structure driver directory --- {drv_WRF => drivers/wrf}/module_sf_noahmpdrv.F | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {drv_WRF => drivers/wrf}/module_sf_noahmpdrv.F (100%) diff --git a/drv_WRF/module_sf_noahmpdrv.F b/drivers/wrf/module_sf_noahmpdrv.F similarity index 100% rename from drv_WRF/module_sf_noahmpdrv.F rename to drivers/wrf/module_sf_noahmpdrv.F From 3c6a9c1421d00d65f08e2cdabd91c5704a890f8c Mon Sep 17 00:00:00 2001 From: prasanthvkrishna Date: Sat, 8 Jan 2022 13:03:21 -0700 Subject: [PATCH 3/5] filoss corrected --- src/module_sf_noahmplsm.F | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/module_sf_noahmplsm.F b/src/module_sf_noahmplsm.F index 45bfaa70..72b62f2c 100644 --- a/src/module_sf_noahmplsm.F +++ b/src/module_sf_noahmplsm.F @@ -9186,11 +9186,11 @@ SUBROUTINE TRIGGER_IRRIGATION(parameters,NSOIL,ZSOIL,SH2O,FVEG, ! another, surface layers will be saturated. ! flood irrigation amount (m) based on 2D FIFAC IF((IRAMTFI .EQ. 0.0) .AND. (FIFAC .GT. 0.0) .AND. (OPT_IRRM .EQ. 0)) THEN - IRAMTFI = FIFAC*(IRRWATAMT)*(parameters%FILOSS+1) + IRAMTFI = FIFAC*(IRRWATAMT)*(1.0/(1.0-parameters%FILOSS)) IRCNTFI = IRCNTFI + 1 !flood irrigation amount (m) based on namelist choice ELSE IF((IRAMTFI .EQ. 0.0) .AND. (OPT_IRRM .EQ. 3)) THEN - IRAMTFI = (IRRWATAMT)*(parameters%FILOSS+1) + IRAMTFI = (IRRWATAMT)*(1.0/(1.0-parameters%FILOSS)) IRCNTFI = IRCNTFI + 1 END IF ELSE @@ -12078,6 +12078,11 @@ subroutine read_mp_irrigation_parameters() read(15,noahmp_irrigation_parameters) close(15) + if (FILOSS == 1.0) then + write(*,'("WARNING: FILOSS should be < 1.0")') + call wrf_error_fatal("STOP in NoahMP_irrigation_parameters") + endif + IRR_FRAC_TABLE = IRR_FRAC ! irrigation Fraction IRR_HAR_TABLE = IRR_HAR ! number of days before harvest date to stop irrigation IRR_LAI_TABLE = IRR_LAI ! Minimum lai to trigger irrigation From db434053f97ce52c15f2588dda4378c066ec7d79 Mon Sep 17 00:00:00 2001 From: prasanthvkrishna Date: Sat, 8 Jan 2022 13:08:41 -0700 Subject: [PATCH 4/5] MPTABLE FILOSS --- parameters/MPTABLE.TBL | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/parameters/MPTABLE.TBL b/parameters/MPTABLE.TBL index 50f767c1..54bdbb34 100644 --- a/parameters/MPTABLE.TBL +++ b/parameters/MPTABLE.TBL @@ -373,12 +373,12 @@ &noahmp_irrigation_parameters IRR_FRAC = 0.10 ! irrigation Fraction IRR_HAR = 20 ! number of days before harvest date to stop irrigation -IRR_LAI = 0.50 ! Minimum lai to trigger irrigation -IRR_MAD = 0.60 ! management allowable deficit (0-1) -FILOSS = 0.10 ! fraction of flood irrigation loss (0-1) +IRR_LAI = 0.10 ! Minimum lai to trigger irrigation +IRR_MAD = 0.60 ! management allowable deficit (0.0-1.0) +FILOSS = 0.50 ! flood irrigation loss fraction (0.0-0.99) SPRIR_RATE = 6.40 ! mm/h, sprinkler irrigation rate MICIR_RATE = 1.38 ! mm/h, micro irrigation rate -FIRTFAC = 1.00 ! flood application rate factor +FIRTFAC = 1.20 ! flood application rate factor IR_RAIN = 1.00 ! maximum precipitation to stop irrigation trigger / From 98222915d58cc6719965cb54b787ae90934174f9 Mon Sep 17 00:00:00 2001 From: Prasanth Valayamkunnath Date: Sat, 8 Jan 2022 13:41:44 -0700 Subject: [PATCH 5/5] range check filoss --- src/module_sf_noahmplsm.F | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/module_sf_noahmplsm.F b/src/module_sf_noahmplsm.F index 72b62f2c..a72bd588 100644 --- a/src/module_sf_noahmplsm.F +++ b/src/module_sf_noahmplsm.F @@ -12078,8 +12078,8 @@ subroutine read_mp_irrigation_parameters() read(15,noahmp_irrigation_parameters) close(15) - if (FILOSS == 1.0) then - write(*,'("WARNING: FILOSS should be < 1.0")') + if (FILOSS < 0.0 .or. FILOSS > 0.99 ) then + write(*,'("WARNING: FILOSS should be >0.0 and <0.99")') call wrf_error_fatal("STOP in NoahMP_irrigation_parameters") endif