diff --git a/src/arome/turb/ini_cturb.F90 b/src/arome/turb/ini_cturb.F90 index 1ef67f53e6cb63b840da16cd6022cf54c09fa1af..9ec311bcc8c0c67e98e31949e5e38785af834d48 100644 --- a/src/arome/turb/ini_cturb.F90 +++ b/src/arome/turb/ini_cturb.F90 @@ -57,6 +57,8 @@ REAL(KIND=JPRB) :: ZHOOK_HANDLE ! IF (LHOOK) CALL DR_HOOK('INI_CTURB',0,ZHOOK_HANDLE) ! +CALL CTURB_ASSOCIATE() +! ! --------------------------------------------------------------------------- ! ! 1. SETTING THE NUMERICAL VALUES diff --git a/src/common/turb/modd_cturb.F90 b/src/common/turb/modd_cturb.F90 index fa34643351daaa89aeaa6769621c254e9fba5d1d..10b21c7580b75424c1eca936247d1f46ff4c7635 100644 --- a/src/common/turb/modd_cturb.F90 +++ b/src/common/turb/modd_cturb.F90 @@ -88,45 +88,91 @@ END TYPE CSTURB_t ! TYPE(CSTURB_t), TARGET, SAVE :: CSTURB ! -REAL,POINTER :: XCMFS=>CSTURB%XCMFS -REAL,POINTER :: XCMFB=>CSTURB%XCMFB -REAL,POINTER :: XCSHF=>CSTURB%XCSHF -REAL,POINTER :: XCHF=>CSTURB%XCHF -REAL,POINTER :: XCTV=>CSTURB%XCTV -REAL,POINTER :: XCHV=>CSTURB%XCHV -REAL,POINTER :: XCHT1=>CSTURB%XCHT1 -REAL,POINTER :: XCHT2=>CSTURB%XCHT2 -! -REAL,POINTER :: XCPR1=>CSTURB%XCPR1 -REAL,POINTER :: XCPR2=>CSTURB%XCPR2 -REAL,POINTER :: XCPR3=>CSTURB%XCPR3 -REAL,POINTER :: XCPR4=>CSTURB%XCPR4 -REAL,POINTER :: XCPR5=>CSTURB%XCPR5 -! -REAL,POINTER :: XCET=>CSTURB%XCET -REAL,POINTER :: XCED=>CSTURB%XCED -! -REAL,POINTER :: XCDP=>CSTURB%XCDP -REAL,POINTER :: XCDD=>CSTURB%XCDD -REAL,POINTER :: XCDT=>CSTURB%XCDT -! -REAL,POINTER :: XTKEMIN=>CSTURB%XTKEMIN -REAL,POINTER :: XRM17=>CSTURB%XRM17 -! -REAL,POINTER :: XLINI=>CSTURB%XLINI -REAL,POINTER :: XLINF=>CSTURB%XLINF -! -REAL,POINTER :: XALPSBL=>CSTURB%XALPSBL -! -REAL,POINTER :: XCEP=>CSTURB%XCEP -REAL,POINTER :: XA0=>CSTURB%XA0 -REAL,POINTER :: XA2=>CSTURB%XA2 -REAL,POINTER :: XA3=>CSTURB%XA3 -REAL,POINTER :: XA5=>CSTURB%XA5 -REAL,POINTER :: XCTD=>CSTURB%XCTD -REAL,POINTER :: XCTP=>CSTURB%XCTP -! -REAL,POINTER :: XPHI_LIM=>CSTURB%XPHI_LIM -REAL,POINTER :: XSBL_O_BL=>CSTURB%XSBL_O_BL -REAL,POINTER :: XFTOP_O_FSURF=>CSTURB%XFTOP_O_FSURF +REAL,POINTER :: XCMFS => NULL() +REAL,POINTER :: XCMFB => NULL() +REAL,POINTER :: XCSHF => NULL() +REAL,POINTER :: XCHF => NULL() +REAL,POINTER :: XCTV => NULL() +REAL,POINTER :: XCHV => NULL() +REAL,POINTER :: XCHT1 => NULL() +REAL,POINTER :: XCHT2 => NULL() +! +REAL,POINTER :: XCPR1 => NULL() +REAL,POINTER :: XCPR2 => NULL() +REAL,POINTER :: XCPR3 => NULL() +REAL,POINTER :: XCPR4 => NULL() +REAL,POINTER :: XCPR5 => NULL() +! +REAL,POINTER :: XCET => NULL() +REAL,POINTER :: XCED => NULL() +! +REAL,POINTER :: XCDP => NULL() +REAL,POINTER :: XCDD => NULL() +REAL,POINTER :: XCDT => NULL() +! +REAL,POINTER :: XTKEMIN => NULL() +REAL,POINTER :: XRM17 => NULL() +! +REAL,POINTER :: XLINI => NULL() +REAL,POINTER :: XLINF => NULL() +! +REAL,POINTER :: XALPSBL => NULL() +! +REAL,POINTER :: XCEP => NULL() +REAL,POINTER :: XA0 => NULL() +REAL,POINTER :: XA2 => NULL() +REAL,POINTER :: XA3 => NULL() +REAL,POINTER :: XA5 => NULL() +REAL,POINTER :: XCTD => NULL() +REAL,POINTER :: XCTP => NULL() +! +REAL,POINTER :: XPHI_LIM => NULL() +REAL,POINTER :: XSBL_O_BL => NULL() +REAL,POINTER :: XFTOP_O_FSURF => NULL() + +CONTAINS +SUBROUTINE CTURB_ASSOCIATE() +IMPLICIT NONE + XCMFS=>CSTURB%XCMFS + XCMFB=>CSTURB%XCMFB + XCSHF=>CSTURB%XCSHF + XCHF=>CSTURB%XCHF + XCTV=>CSTURB%XCTV + XCHV=>CSTURB%XCHV + XCHT1=>CSTURB%XCHT1 + XCHT2=>CSTURB%XCHT2 + ! + XCPR1=>CSTURB%XCPR1 + XCPR2=>CSTURB%XCPR2 + XCPR3=>CSTURB%XCPR3 + XCPR4=>CSTURB%XCPR4 + XCPR5=>CSTURB%XCPR5 + ! + XCET=>CSTURB%XCET + XCED=>CSTURB%XCED + ! + XCDP=>CSTURB%XCDP + XCDD=>CSTURB%XCDD + XCDT=>CSTURB%XCDT + ! + XTKEMIN=>CSTURB%XTKEMIN + XRM17=>CSTURB%XRM17 + ! + XLINI=>CSTURB%XLINI + XLINF=>CSTURB%XLINF + ! + XALPSBL=>CSTURB%XALPSBL + ! + XCEP=>CSTURB%XCEP + XA0=>CSTURB%XA0 + XA2=>CSTURB%XA2 + XA3=>CSTURB%XA3 + XA5=>CSTURB%XA5 + XCTD=>CSTURB%XCTD + XCTP=>CSTURB%XCTP + ! + XPHI_LIM=>CSTURB%XPHI_LIM + XSBL_O_BL=>CSTURB%XSBL_O_BL + XFTOP_O_FSURF=>CSTURB%XFTOP_O_FSURF +END SUBROUTINE CTURB_ASSOCIATE END MODULE MODD_CTURB diff --git a/src/common/turb/turb.F90 b/src/common/turb/turb.F90 index 960937956339580b24a87883b627fc7918ff2524..639ea970f7353c43d68b8f0968cfc9ccd71b2262 100644 --- a/src/common/turb/turb.F90 +++ b/src/common/turb/turb.F90 @@ -290,7 +290,7 @@ INTEGER, INTENT(IN) :: KRR ! number of moist var. INTEGER, INTENT(IN) :: KRRL ! number of liquid water var. INTEGER, INTENT(IN) :: KRRI ! number of ice water var. INTEGER, INTENT(IN) :: KSV, KSV_LGBEG, KSV_LGEND ! number of scalar variables -CHARACTER(LEN=*),DIMENSION(2),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC +CHARACTER(LEN=4),DIMENSION(2),INTENT(IN):: HLBCX, HLBCY ! X- and Y-direc LBC INTEGER, INTENT(IN) :: KSPLIT ! number of time-splitting INTEGER, INTENT(IN) :: KMODEL_CL ! model number for cloud mixing length LOGICAL, INTENT(IN) :: OTURB_FLX ! switch to write the diff --git a/src/mesonh/turb/ini_cturb.f90 b/src/mesonh/turb/ini_cturb.f90 index 4da0d6452f856d60d7f795669619c3eca4dcc6ba..9fc3c4a94329738f2d1d03744d297dab6ba7fe0b 100644 --- a/src/mesonh/turb/ini_cturb.f90 +++ b/src/mesonh/turb/ini_cturb.f90 @@ -82,6 +82,8 @@ REAL(KIND=JPRB) :: ZHOOK_HANDLE ! IF (LHOOK) CALL DR_HOOK('INI_CTURB',0,ZHOOK_HANDLE) ! +CALL CTURB_ASSOCIATE() +! ! --------------------------------------------------------------------------- ! ! 1. SETTING THE NUMERICAL VALUES