[Users] NaNChecker issue

Hee Il Kim heeilkim at gmail.com
Wed May 7 23:12:58 CDT 2014


Hi

2014-04-30 1:15 GMT+09:00 Frank Loeffler <knarf at cct.lsu.edu>:

> On Tue, Apr 29, 2014 at 06:40:19PM +0900, Hee Il Kim wrote:
> > Yes, I chose the action "terminate" to make the nan mask. But if Con2Prim
> > of GRHydro finds NaN first, then the run is terminated before making the
> > output of the nan mask.
>
> Hi,
>
> Can you try setting GRHydro::GRHydro_c2p_failed_action = "terminate"?
> "abort" is default, and does what you described. "terminate" should
> allow the mask to be written.
>
> Frank
>
>
The output could be made by GRHydro::GRHydro_c2p_failed_action =
"terminate" but it also has no information on the location of NaNs. I found
an older NaNChecker works to locate NaNs. I couldn't find any version info,
so I attached below a diff file.

Hee Il



#### diff -r NaNChecker.ET NaNChecker.old ####

Only in NaNChecker.ET/doc: .svn
diff -r NaNChecker.ET/interface.ccl NaNChecker.old/interface.ccl
31,36d30
< CCTK_INT FUNCTION                         \
<     GetRefinementLevel                    \
<         (CCTK_POINTER_TO_CONST IN cctkGH)
< USES FUNCTION GetRefinementLevel
<
<
diff -r NaNChecker.ET/param.ccl NaNChecker.old/param.ccl
54,64d53
<
< BOOLEAN ignore_restricted_points "do not check grid points whose values
will be restricted away" STEERABLE = ALWAYS
< {
< } "no"
<
< STRING  restriction_mask "grid function to use to decide which points are
restricted away, points where the mask is zero are ignored" STEERABLE =
ALWAYS
< {
<   "CarpetReduce[:][:]weight" :: "Carpet's reduction mask"
<   "CarpetEvolutionMask[:][:]evolution_mask" :: "takes prolongation
stencil into account"
<   ".*[:][:].*" :: "any grid function with points masked out set to zero"
< } "CarpetReduce::weight"
diff -r NaNChecker.ET/schedule.ccl NaNChecker.old/schedule.ccl
8c8
<   schedule NaNChecker_ResetCounter at BASEGRID
---
>   schedule NaNChecker_ResetCounter at INITIAL
20,30c20
<   schedule NaNChecker_NaNCheck_Prepare IN NaNChecker_NaNCheck
<   {
<     LANG:    C
<     OPTIONS: level
<   } "Prepare data structures to check for NaNs"
<
<   schedule GROUP NaNChecker_NaNCheck as zzz_NaNChecker_NaNCheck at
POSTSTEP
<   {
<   } "Check for NaNs and count them in NaNChecker::NaNsFound"
<
<   schedule NaNChecker_NaNCheck_Check IN NaNChecker_NaNCheck AFTER
NaNChecker_NaNCheck_Prepare
---
>   schedule NaNChecker_NaNCheck at POSTSTEP
34,49d23
<   } "Check for NaNs"
<
<   schedule NaNChecker_NaNCheck_Finish IN NaNChecker_NaNCheck AFTER
NaNChecker_NaNCheck_Check
<   {
<     LANG:    C
<     OPTIONS: level
<   } "Count NaNs in NaNChecker::NaNsFound"
<
<   schedule NaNChecker_TakeAction at POSTSTEP after zzz_NaNChecker_NaNCheck
<   {
<     LANG:    C
<     OPTIONS: global loop-level
<   } "Output NaNChecker::NaNmask and take action according to
NaNChecker::action_if_found"
<
<   schedule GROUP NaNChecker_NaNCheck as zzz_NaNChecker_NaNCheck at
POST_RECOVER_VARIABLES
<   {
52c26
<   schedule NaNChecker_TakeAction at POST_RECOVER_VARIABLES after
zzz_NaNChecker_NaNCheck
---
>   schedule NaNChecker_TakeAction at POSTSTEP after NaNChecker_NaNCheck
diff -r NaNChecker.ET/src/make.code.defn NaNChecker.old/src/make.code.defn
5c5
< SRCS = NaNCheck.cc
---
> SRCS = NaNCheck.c
Only in NaNChecker.old/src: NaNCheck.c
Only in NaNChecker.ET/src: NaNCheck.cc
diff -r NaNChecker.ET/src/NaNCheck.h NaNChecker.old/src/NaNCheck.h
16d15
< namespace NaNChecker {
32d30
< } // end namespace NaNChecker
Only in NaNChecker.ET/src: .svn
Only in NaNChecker.ET: .svn
Only in NaNChecker.ET: test
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20140508/e51a5058/attachment.html 


More information about the Users mailing list