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

Issue with Tiling and Multiple Processors in Noah-MP 4.0.1 with Sprinkler Irrigation Scheme #1621

Open
lbusschaert opened this issue Oct 16, 2024 Discussed in #1603 · 1 comment

Comments

@lbusschaert
Copy link
Contributor

Discussed in #1603

Problem

Originally posted by smodanesi September 17, 2024
Hello LISF Community,
I am conducting experiments using Noah-MP version 4.0.1, coupled with the sprinkler irrigation scheme to obtain irrigation quantities over CONUS. Since I am running simulations at a spatial resolution of 0.25°, I wanted to activate the tiling option to obtain more accurate irrigation values. However, I encountered an issue when running irrigation with tiling across multiple processors.
I have attached two images that show maps of cumulative annual irrigation, mean annual soil moisture, cumulative annual evapotranspiration, and mean annual leaf area index, using both 8 and 36 processors. As you’ll notice, the 36-processor run presents an error where areas that should be irrigated are left with no irrigation (see the large squares with zero values in the file output_36_processors.jpg as compared with the output_8_processors.jpg). Please, note that this run was obtained using the lis.config option "decompose by processors: 'true'"; however similar issues can be found setting this option equal to "False" (just the big squares with zero values are located in another position).
I attempted to debug the code, checking potential issues such as the irrigation scale at the tiling level, but I haven’t been able to find the error. I also attach my ldt.config and lis.config files for your reference, in case there might be an issue with the tiling setup in the LDT input NetCDF (or in the lis.config file).
I would greatly appreciate any insights or suggestions you may have to help resolve this issue. If you need any additional information please just let me know.
Thank you very much for your assistance.
Best regards,
Sara
ldt.config_CONUS_tiling.txt
lis.config_CONUS_tiling.txt
output_8_processors
output_36_processors

Solution

This issue was linked to a uninitialized variable and was solved in a PR to our KUL-RSDA fork of the NASA-LISF: KUL-RSDA#48

I will make a similar PR to the support/lisf-public-7.5.

@dmocko
Copy link
Contributor

dmocko commented Oct 16, 2024

@karsenau @jerlingi @KathyNie @hkato1

I looked through the irrigation codes for the other LSMs in LIS with irrigation available (Noah-3.3, CLSM-F2.5, Noah-MP-3.6, and RUC-3.7), and based on my review, I don't think this issue will affect the other LSMs.

I will note that the irrigation code in Noah-MP-3.6 LSM does use NOAHMP401_struc(n)%dt. However, unlike Noah-MP-4.0.1, this value is actually defined and set in NoahMP36_readcrd.F90 as:
NOAHMP36_struc(n)%dt = NOAHMP36_struc(n)%ts

Another note is that the timestep in Noah-3.3 irrigation is set to:
timestep = LIS_rc%ts
instead of the LSM timestep. @jerlingi - do you think this might be an issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants