User: rhaas Date: 2012/07/05 12:36 AM
Modified: /trunk/ schedule.ccl /trunk/src/ GRHydro_UpdateMask.F90
Log: GRHydro: copy integer atmosphere mask in Post_Recover_Variables
this is required since the real valued atmosphere mask is not checkpointed. It is valid since atmosphere_mask_real is non-zero wherever atmosphere_mask is non-zero due to GRHydroUpdateAtmosphereMask and atmosphere_mask is non-zero wherever atmosphere_mask_real is non-zero because of GRHydroPostSyncAtmosphereMask, ie. the two masks are non-zero/zero at the same points.
File Changes:
Directory: /trunk/src/ ======================
File [modified]: GRHydro_UpdateMask.F90 Delta lines: +40 -0 =================================================================== --- trunk/src/GRHydro_UpdateMask.F90 2012-07-05 05:36:43 UTC (rev 382) +++ trunk/src/GRHydro_UpdateMask.F90 2012-07-05 05:36:45 UTC (rev 383) @@ -109,6 +109,45 @@
/*@@ + @routine GRHydroCopyIntegerMask + @date Wed Jul 4 15:40:16 PDT 2012 + @author Roland Haas + @desc + Initializes real valued mask with integer valued one. + @enddesc + @calls + @calledby + @history + + @endhistory + +@@*/ + +subroutine GRHydroCopyIntegerMask(CCTK_ARGUMENTS) + + implicit none + + DECLARE_CCTK_ARGUMENTS + DECLARE_CCTK_PARAMETERS + + CCTK_INT :: i,j,k + +!! This sets the real atmo mask based on the integer-valued atmo mask + + !$OMP PARALLEL DO PRIVATE(k,j,i) + do k = 1, cctk_lsh(3) + do j = 1, cctk_lsh(2) + do i = 1, cctk_lsh(1) + atmosphere_mask_real(i,j,k) = atmosphere_mask(i,j,k) + end do + end do + end do + !$OMP END PARALLEL DO + +end subroutine GRHydroCopyIntegerMask + + + /*@@ @routine GRHydro_SetupMask @date Thu Jun 20 13:27:28 2002 @author Ian Hawke @@ -181,6 +220,7 @@ do i = 1, cctk_lsh(1) if (rho(i,j,k) .le. GRHydro_rho_min) then atmosphere_mask(i,j,k) = 1 + atmosphere_mask_real(i,j,k) = 1 end if end do end do
Directory: /trunk/ ==================
File [modified]: schedule.ccl Delta lines: +7 -0 =================================================================== --- trunk/schedule.ccl 2012-07-05 05:36:43 UTC (rev 382) +++ trunk/schedule.ccl 2012-07-05 05:36:45 UTC (rev 383) @@ -485,6 +485,13 @@ LANG: Fortran } "Initialize the atmosphere mask"
+# alternatively drop support for wk_atmosphere and schedule GRHydro_SetupMask +# only in CCTK_BaseGrid +schedule GRHydroCopyIntegerMask AT CCTK_POST_RECOVER_VARIABLES BEFORE HydroBase_PostStep +{ + LANG: Fortran +} "Initialize the real valued atmosphere mask after checkpoint recovery" + # If using mesh refinement schedule GRHydro_SetupMask AT POSTREGRID BEFORE MoL_PostStep AFTER (MaskOne,MaskZero) {