Noah-MP Dynamic Irrigation Packaged 2d fields#1456
Noah-MP Dynamic Irrigation Packaged 2d fields#1456davegill merged 4 commits intowrf-model:release-v4.3from
Conversation
|
Typically packaging needs a test to make sure not using this option is unaffected. If the arrays are still accessed in any way when the option is off, it could cause problems with unallocated space. Make sure these arrays are not in any executed code lines when the option is off. |
Sure, I will do a test. Thanks, Jimy |
This intrinsic became part of the standard with Fortran2003. We should be able to rely on isnan being present (not a slam on you, but on the PGI compiler that you are using). I will defer to your decision. |
|
isnan can be implemented like Lines 5311 to 5315 in fb60d61 That function appears not actually used by P3, though. |
|
@davegill @prasanthvkrishna Thanks. Not sure why the PGI compiler in Cheyenne does not include this intrinsic (I tested it using the latest PGI compiler pgi/20.4). How about this: let's remove this ISNAN in noahmplsm here for this WRF release, if we find any potential NaN issue that might occur to this variable (less likely) in the future applications, we will revisit it through bug fix. |
@jamiebresch Thanks :) |
This would also be an option. |
|
@prasanthvkrishna @davegill OK, it seems that we could implement the isnan function to resolve this issue. Prasanth, could you please implement this function into module_sf_noahmplsm.F and do a quick test if it works? |
|
Sure, I will do that.
…On Mon, Apr 5, 2021 at 6:59 PM Cenlin_He ***@***.***> wrote:
@prasanthvkrishna <https://github.com/prasanthvkrishna> @davegill
<https://github.com/davegill> OK, it seems that we could implement the
isnan function to resolve this issue. Prasanth, could you please implement
this function into module_sf_noahmplsm.F and do a quick test if it works?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1456 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHR7VP35MFXM3C7XLNN6PSTTHIB7PANCNFSM42LY3H5Q>
.
|
|
@davegill So if we implement the logical function as suggested above following module_mp_p3.F, we will use another function name "isnan_lsm" to avoid conflicts with "isnan" that is already an intrinsic function name for INTEL currently. Do you think this works for you? |
|
@prasanthvkrishna @dudhia @weiwangncar |
|
|
||
| logical function isnan_lsm(arg1) | ||
| real,intent(in) :: arg1 | ||
| isnan_lsm = (arg1 .ne. arg1) | ||
| return | ||
| end function isnan_lsm | ||
|
|
There was a problem hiding this comment.
This "roll your own" ISNAN() function is the technique used in other physics packages (P3 MP, TEMF BL). I am entirely OK with this solution.
There was a problem hiding this comment.
Hi @davegill, OK thanks. We will go with our solution here by defining the isnan_lsm function as done in other physics packages.
Yes, this is just fine. It is done elsewhere in the model. |
davegill
left a comment
There was a problem hiding this comment.
- Packaging is a good idea
- ISNAN() functionality is implemented as is already done in P3 and TEMF
|
Thanks, @davegill ! |
@davegill Thanks, Dave. |
|
@prasanthvkrishna @cenlinhe @dudhia
Folks, |
@dudhia @davegill Yes Dave. I tested it by opting the unified Noah instead of Noah-MP. None of the dynamic irrigation 2d fields are in the WRF output. So, the packaging worked. |
|
Another test should make sure NoahMP results are not changed when the
irrigation scheme is off before and after packaging.
…On Thu, Apr 8, 2021 at 11:58 AM Prasanth Valayamkunnath < ***@***.***> wrote:
@prasanthvkrishna <https://github.com/prasanthvkrishna> @cenlinhe
<https://github.com/cenlinhe> @dudhia <https://github.com/dudhia>
Make sure these arrays are not in any executed code lines when the option
is off.
Folks,
Jimy made the request above. Has this been verified?
@dudhia <https://github.com/dudhia> @davegill
<https://github.com/davegill> Yes Dave. I tested it by opting the unified
Noah instead of Noah-MP. None of the dynamic irrigation 2d fields are in
the WRF output. So, the packaging worked.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1456 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77E7JJSGSIERHYE5DRDTHXVF3ANCNFSM42LY3H5Q>
.
|
What is the status of Jimy's requested test? |
TYPE: bug fix
KEYWORDS: Noah MP, dynamic irrigation, packaging
SOURCE: Prasanth Valayamkunnath (NCAR)
DESCRIPTION OF CHANGES:
1. To package Noah MP dynamic irrigation variables (small clean-up before release).
2. Generate an internal ISNAN() function. This is already done with TEMF and P3 schemes.
LIST OF MODIFIED FILES:
Registry/Registry.EM_COMMON
Registry/Registry.NMM
phys/module_sf_noahmplsm.F (resolve issue with ISNAN with PGI compiler)
TESTS CONDUCTED:
1. Compiled the model using intel/19.0.5.
2. Code builds with PGI compiler.
3. Results without NoahMP are identical before vs after.
4. Results with NoahMP are identical before vs after.
5. Jenkins testing OK
TYPE: bug fix
KEYWORDS: Noah MP dynamic irrigation packaging 2d variables.
SOURCE: Prasanth Valayamkunnath (NCAR)
DESCRIPTION OF CHANGES:
Purpose: To package Noah MP dynamic irrigation variables.
LIST OF MODIFIED FILES:
Registry/Registry.EM_COMMON
Registry/Registry.NMM
phys/module_sf_noahmplsm.F (resolved issue with ISNAN in PGI)
TESTS CONDUCTED: