Skip to content
Snippets Groups Projects
Commit 437078a3 authored by WAUTELET Philippe's avatar WAUTELET Philippe
Browse files

Philippe 28/06/2021: allocate to zero-size arrays in ini_model_n to prevent...

Philippe 28/06/2021: allocate to zero-size arrays in ini_model_n to prevent use of unallocated arrays later
+ allocate some of them to non zero-size only if necessary
parent b210c355
No related branches found
No related tags found
No related merge requests found
......@@ -306,7 +306,6 @@ USE MODD_2D_FRC
USE MODD_ADVFRC_n
USE MODD_ADV_n
use MODD_AEROSET, only: POLYTAU, POLYSSA, POLYG
USE MODD_ALLSTATION_n
USE MODD_ARGSLIST_ll, only: LIST_ll
USE MODD_BIKHARDT_n
USE MODD_BLOWSNOW
......@@ -355,7 +354,7 @@ USE MODD_FRC_n
USE MODD_GET_n
USE MODD_GRID_n
USE MODD_GRID, only: XLONORI,XLATORI
USE MODD_IBM_PARAM_n !ONLY: LIBM, XIBM_LS, XIBM_IEPS
USE MODD_IBM_PARAM_n, only: LIBM, XIBM_IEPS, XIBM_LS, XIBM_XMUT
USE MODD_IO, only: CIO_DIR, TFILEDATA, TFILE_DUMMY
USE MODD_IO_SURF_MNH, only: IO_SURF_MNH_MODEL
USE MODD_LATZ_EDFLX
......@@ -395,7 +394,6 @@ use MODD_SALT_OPT_LKT, only: NMAX_RADIUS_LKT_SALT=>NMAX_RADIUS_LKT, NMAX_SI
USE MODD_SERIES, only: LSERIES
USE MODD_SHADOWS_n
USE MODD_STAND_ATM, only: XSTROATM, XSMLSATM, XSMLWATM, XSPOSATM, XSPOWATM
USE MODD_STATION_n
USE MODD_TIME
USE MODD_TIME_n
USE MODD_TURB_CLOUD, only: NMODEL_CLOUD, CTURBLEN_CLOUD,XCEI
......@@ -727,6 +725,20 @@ IF (LRECYCL) THEN
ALLOCATE(XVMEANS(IIU,IKU,INT(XNUMBELT))) ; XVMEANS = 0.0
ALLOCATE(XWMEANS(IIU,IKU,INT(XNUMBELT))) ; XWMEANS = 0.0
ALLOCATE(XTBV(IIU,IJU,IKU)) ; XTBV = 0.0
ELSE
ALLOCATE(XUMEANW(0,0,0))
ALLOCATE(XVMEANW(0,0,0))
ALLOCATE(XWMEANW(0,0,0))
ALLOCATE(XUMEANN(0,0,0))
ALLOCATE(XVMEANN(0,0,0))
ALLOCATE(XWMEANN(0,0,0))
ALLOCATE(XUMEANE(0,0,0))
ALLOCATE(XVMEANE(0,0,0))
ALLOCATE(XWMEANE(0,0,0))
ALLOCATE(XUMEANS(0,0,0))
ALLOCATE(XVMEANS(0,0,0))
ALLOCATE(XWMEANS(0,0,0))
ALLOCATE(XTBV (0,0,0))
END IF
!
!
......@@ -776,12 +788,14 @@ ELSE
ALLOCATE(XWM_MEAN(0,0,0))
ALLOCATE(XTHM_MEAN(0,0,0))
ALLOCATE(XTEMPM_MEAN(0,0,0))
ALLOCATE(XSVT_MEAN(0,0,0))
ALLOCATE(XTKEM_MEAN(0,0,0))
ALLOCATE(XPABSM_MEAN(0,0,0))
!
ALLOCATE(XU2_MEAN(0,0,0))
ALLOCATE(XV2_MEAN(0,0,0))
ALLOCATE(XW2_MEAN(0,0,0))
ALLOCATE(XUW_MEAN(0,0,0))
ALLOCATE(XTH2_MEAN(0,0,0))
ALLOCATE(XTEMP2_MEAN(0,0,0))
ALLOCATE(XPABS2_MEAN(0,0,0))
......@@ -831,20 +845,42 @@ ALLOCATE(XRVS_PRES(IIU,IJU,IKU)); XRVS_PRES = 0.0
ALLOCATE(XRWS_PRES(IIU,IJU,IKU)); XRWS_PRES = 0.0
ALLOCATE(XRTHS(IIU,IJU,IKU)) ; XRTHS = 0.0
ALLOCATE(XRTHS_CLD(IIU,IJU,IKU)); XRTHS_CLD = 0.0
ALLOCATE(ZIBM_LS(IIU,IJU,IKU)) ; ZIBM_LS = 0.0
ALLOCATE(XIBM_XMUT(IIU,IJU,IKU)); XIBM_XMUT = 0.0
ALLOCATE(XFLUCTUNW(IJU,IKU)) ; XFLUCTUNW = 0.0
ALLOCATE(XFLUCTVNN(IIU,IKU)) ; XFLUCTVNN = 0.0
ALLOCATE(XFLUCTUTN(IIU,IKU)) ; XFLUCTUTN = 0.0
ALLOCATE(XFLUCTVTW(IJU,IKU)) ; XFLUCTVTW = 0.0
ALLOCATE(XFLUCTUNE(IJU,IKU)) ; XFLUCTUNE = 0.0
ALLOCATE(XFLUCTVNS(IIU,IKU)) ; XFLUCTVNS = 0.0
ALLOCATE(XFLUCTUTS(IIU,IKU)) ; XFLUCTUTS = 0.0
ALLOCATE(XFLUCTVTE(IJU,IKU)) ; XFLUCTVTE = 0.0
ALLOCATE(XFLUCTWTW(IJU,IKU)) ; XFLUCTWTW = 0.0
ALLOCATE(XFLUCTWTN(IIU,IKU)) ; XFLUCTWTN = 0.0
ALLOCATE(XFLUCTWTE(IJU,IKU)) ; XFLUCTWTE = 0.0
ALLOCATE(XFLUCTWTS(IIU,IKU)) ; XFLUCTWTS = 0.0
IF ( LIBM ) THEN
ALLOCATE(ZIBM_LS(IIU,IJU,IKU)) ; ZIBM_LS = 0.0
ALLOCATE(XIBM_XMUT(IIU,IJU,IKU)); XIBM_XMUT = 0.0
ELSE
ALLOCATE(ZIBM_LS (0,0,0))
ALLOCATE(XIBM_XMUT(0,0,0))
END IF
IF ( LRECYCL ) THEN
ALLOCATE(XFLUCTUNW(IJU,IKU)) ; XFLUCTUNW = 0.0
ALLOCATE(XFLUCTVNN(IIU,IKU)) ; XFLUCTVNN = 0.0
ALLOCATE(XFLUCTUTN(IIU,IKU)) ; XFLUCTUTN = 0.0
ALLOCATE(XFLUCTVTW(IJU,IKU)) ; XFLUCTVTW = 0.0
ALLOCATE(XFLUCTUNE(IJU,IKU)) ; XFLUCTUNE = 0.0
ALLOCATE(XFLUCTVNS(IIU,IKU)) ; XFLUCTVNS = 0.0
ALLOCATE(XFLUCTUTS(IIU,IKU)) ; XFLUCTUTS = 0.0
ALLOCATE(XFLUCTVTE(IJU,IKU)) ; XFLUCTVTE = 0.0
ALLOCATE(XFLUCTWTW(IJU,IKU)) ; XFLUCTWTW = 0.0
ALLOCATE(XFLUCTWTN(IIU,IKU)) ; XFLUCTWTN = 0.0
ALLOCATE(XFLUCTWTE(IJU,IKU)) ; XFLUCTWTE = 0.0
ALLOCATE(XFLUCTWTS(IIU,IKU)) ; XFLUCTWTS = 0.0
ELSE
ALLOCATE(XFLUCTUNW(0,0))
ALLOCATE(XFLUCTVNN(0,0))
ALLOCATE(XFLUCTUTN(0,0))
ALLOCATE(XFLUCTVTW(0,0))
ALLOCATE(XFLUCTUNE(0,0))
ALLOCATE(XFLUCTVNS(0,0))
ALLOCATE(XFLUCTUTS(0,0))
ALLOCATE(XFLUCTVTE(0,0))
ALLOCATE(XFLUCTWTW(0,0))
ALLOCATE(XFLUCTWTN(0,0))
ALLOCATE(XFLUCTWTE(0,0))
ALLOCATE(XFLUCTWTS(0,0))
END IF
!
IF (CTURB /= 'NONE') THEN
ALLOCATE(XTKET(IIU,IJU,IKU))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment