From b320324e904ff4adec1aca4b9eb91c6d11d55602 Mon Sep 17 00:00:00 2001 From: Juan Escobar <juan.escobar@aero.obs-mip.fr> Date: Thu, 3 Apr 2014 08:58:32 +0000 Subject: [PATCH] Juan 28/03/2014: for pb with emissivity/aerosol reset X/MNH/SURF_TINY=1.0e-80 in real8 case --- src/MNH/ini_cst.f90 | 8 ++++++-- src/SURFEX/ini_csts.F90 | 9 +++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/MNH/ini_cst.f90 b/src/MNH/ini_cst.f90 index 1fe3dc762..b8f02fcb1 100644 --- a/src/MNH/ini_cst.f90 +++ b/src/MNH/ini_cst.f90 @@ -66,6 +66,7 @@ END MODULE MODI_INI_CST !! V. Masson 05/10/98 add XRHOLI !! C. Mari 31/10/00 add NDAYSEC !! V. Masson 01/03/03 add XCONDI +!! J. Escobar 28/03/2014 for pb with emissivity/aerosol reset XMNH_TINY=1.0e-80 in real8 case !! !------------------------------------------------------------------------------- ! @@ -156,22 +157,25 @@ XALPI = LOG(XESTT) + (XBETAI /XTT) + (XGAMI *LOG(XTT)) ! Some machine precision value depending of real4/8 use ! -XMNH_TINY = TINY (XMNH_TINY ) -XMNH_TINY_12 = SQRT (XMNH_TINY ) + XMNH_EPSILON = EPSILON (XMNH_EPSILON ) XMNH_HUGE = HUGE (XMNH_HUGE ) #ifdef MNH_MPI_DOUBLE_PRECISION +XMNH_TINY = 1.0e-80 XEPS_DT = 1.0e-5 XRES_FLAT_CART = 1.0e-12 XRES_OTHER = 1.0e-9 XRES_PREP = 1.0e-8 #else +XMNH_TINY = TINY (XMNH_TINY ) XEPS_DT = 1.0e-4 XRES_FLAT_CART = 1.0e-12 XRES_OTHER = 1.0e-7 XRES_PREP = 1.0e-4 #endif +XMNH_TINY_12 = SQRT (XMNH_TINY ) + ! diff --git a/src/SURFEX/ini_csts.F90 b/src/SURFEX/ini_csts.F90 index a76d2786c..4859d7870 100644 --- a/src/SURFEX/ini_csts.F90 +++ b/src/SURFEX/ini_csts.F90 @@ -46,6 +46,7 @@ !! C. Mari 31/10/00 add NDAYSEC !! V. Masson 01/03/03 add XCONDI !! A. Voldoire 01/12/09 add XTTSI, XICEC, XTTS for ESM +!! J. Escobar 28/03/2014 for pb with emissivity/aerosol reset XSURF_TINY=1.0e-80 in real8 case !! !------------------------------------------------------------------------------- ! @@ -76,7 +77,15 @@ REAL(KIND=JPRB) :: ZHOOK_HANDLE IF (LHOOK) CALL DR_HOOK('INI_CSTS',0,ZHOOK_HANDLE) +#ifdef MNH +#ifdef MNH_MPI_DOUBLE_PRECISION +XSURF_TINY = 1.0e-80 +#else XSURF_TINY = TINY (XSURF_TINY ) +#endif +#else +XSURF_TINY = 1.0e-80 +#endif XSURF_TINY_12 = SQRT (XSURF_TINY ) XSURF_EPSILON = EPSILON (XSURF_EPSILON ) * 10.0 -- GitLab