Skip to content
Snippets Groups Projects
Commit 8d7ab0da authored by RODIER Quentin's avatar RODIER Quentin
Browse files

Jean W. 18/07/2024: SURFEX: init of TEB with old SURFEX files

parent 34568d5a
No related branches found
No related tags found
No related merge requests found
...@@ -189,7 +189,7 @@ ELSE ...@@ -189,7 +189,7 @@ ELSE
! ------------------------------------------------ ! ------------------------------------------------
! !
CASE('T_ROAD','T_BLD ','T_ROOF','T_WALLA','T_WALLB','T_FLOOR','T_MASS') CASE('T_ROAD','T_BLD ','T_ROOF','T_WALLA','T_WALLB','T_FLOOR','T_MASS')
GINTERP = .TRUE. GINTERP = .TRUE.
YSURF=HSURF(1:6) YSURF=HSURF(1:6)
...@@ -259,16 +259,17 @@ ELSE ...@@ -259,16 +259,17 @@ ELSE
!* reading of the profile !* reading of the profile
ALLOCATE(ZFIELD(INI,ILAYER)) ALLOCATE(ZFIELD(INI,ILAYER))
DO JLAYER=1,ILAYER DO JLAYER=1,ILAYER
! !
IF (GOLD_NAME) THEN
WRITE(YRECFM,'(A6,I1.1)') HSURF(1:6),JLAYER
ELSE
! !
!--------------------------------------------- !---------------------------------------------
! Wall temperature profiles, for two different facing walls case ! Wall temperature profiles, for two different facing walls case
!--------------------------------------------- !---------------------------------------------
IF (YSURF =='T_WALL' .AND. YWALL_OPT/='UNIF') THEN IF (YSURF =='T_WALL' .AND. YWALL_OPT/='UNIF') THEN
WRITE(YRECFM,'(A1,A5,I1.1)') HSURF(1:1),HSURF(3:7),JLAYER IF (GOLD_NAME) THEN
WRITE(YRECFM,'(A6,I1.1)') HSURF(1:6),JLAYER !Keeping "_" in variable name
ELSE
WRITE(YRECFM,'(A1,A5,I1.1)') HSURF(1:1),HSURF(3:7),JLAYER
END IF
! !
!--------------------------------------------- !---------------------------------------------
! Floor or Mass temperature profiles, if no BEM present in input data ! Floor or Mass temperature profiles, if no BEM present in input data
...@@ -285,9 +286,16 @@ ELSE ...@@ -285,9 +286,16 @@ ELSE
ELSE IF ((YSURF=='T_FLOO' .OR. YSURF=='T_MASS') .AND. YBEM=='BEM') THEN ELSE IF ((YSURF=='T_FLOO' .OR. YSURF=='T_MASS') .AND. YBEM=='BEM') THEN
! !
! Only the value for one compartment is read and then ! Only the value for one compartment is read and then
! applied to all compartemts ! applied to all compartiments
! !
IF (GOLD_NAME2) THEN IF (GOLD_NAME) THEN
IF (YSURF=='T_FLOO') THEN
WRITE(YRECFM,'(A7,I1.1,A1,I1.1)') 'T_FLOO',JLAYER !A verifier eventuellement
ELSE IF (YSURF=='T_MASS') THEN
WRITE(YRECFM,'(A6,I1.1,A1,I1.1)') 'T_MASS',JLAYER
ENDIF
ELSE IF (GOLD_NAME2) THEN
IF (YSURF=='T_FLOO') THEN IF (YSURF=='T_FLOO') THEN
WRITE(YRECFM,'(A6,I1.1,A1,I1.1)') 'TFLOO',JLAYER WRITE(YRECFM,'(A6,I1.1,A1,I1.1)') 'TFLOO',JLAYER
ELSE IF (YSURF=='T_MASS') THEN ELSE IF (YSURF=='T_MASS') THEN
...@@ -307,41 +315,63 @@ ELSE ...@@ -307,41 +315,63 @@ ELSE
ELSEIF (YSURF=='T_BLD') THEN ELSEIF (YSURF=='T_BLD') THEN
IF (GOLD_NAME2) THEN ! old TEB version without soil below buildings: set a mixing between road and building temp. IF (GOLD_NAME2) THEN ! old TEB version without soil below buildings: set a mixing between road and building temp.
IF (JLAYER.LT.2) THEN ! layers near the building set to building internal temperature, to avoid too cold or warm top road layers IF (JLAYER.LT.2) THEN ! layers near the building set to building internal temperature, to avoid too cold or warm top road layers
IF (GOLD_NAME2) THEN IF (GOLD_NAME2) THEN
WRITE(YRECFM,'(A6)') 'TI_BLD' WRITE(YRECFM,'(A6)') 'TI_BLD'
ELSE ELSE
WRITE(YRECFM,'(A6)') 'TIBLD1' WRITE(YRECFM,'(A6)') 'TIBLD1'
ENDIF END IF
ELSE IF (JLAYER.LT.10) THEN ELSE IF (JLAYER.LT.10) THEN
WRITE(YRECFM,'(A5,I1.1)') 'TROAD',JLAYER
IF (GOLD_NAME) THEN
WRITE(YRECFM,'(A6,I1.1)') 'T_ROAD',JLAYER
ELSE
WRITE(YRECFM,'(A5,I1.1)') 'TROAD',JLAYER
END IF
ELSE ELSE
WRITE(YRECFM,'(A5,I2.1)') 'TROAD',JLAYER IF (GOLD_NAME) THEN
WRITE(YRECFM,'(A6,I2.1)') 'T_ROAD',JLAYER
ELSE
WRITE(YRECFM,'(A5,I2.1)') 'TROAD',JLAYER
END IF
END IF END IF
ELSE ! TEB version with soil temperature profile below buildings ELSE ! TEB version with soil temperature profile below buildings
IF (JLAYER.LT.10) THEN IF (JLAYER.LT.10) THEN
WRITE(YRECFM,'(A5,I1.1)') 'TBLD',JLAYER WRITE(YRECFM,'(A5,I1.1)') 'TBLD',JLAYER
ELSE ELSE
WRITE(YRECFM,'(A5,I2.1)') 'TBLD',JLAYER WRITE(YRECFM,'(A5,I2.1)') 'TBLD',JLAYER
END IF END IF
END IF END IF
!--------------------------------------------- !---------------------------------------------
! Road temperature profiles ! Road temperature profiles
!--------------------------------------------- !---------------------------------------------
ELSE IF (YSURF =='T_ROAD') THEN ELSE IF (YSURF =='T_ROAD') THEN
IF (JLAYER.LT.10) THEN IF (JLAYER.LT.10) THEN
WRITE(YRECFM,'(A5,I1.1)') 'TROAD',JLAYER IF (GOLD_NAME) THEN
ELSE WRITE(YRECFM,'(A6,I1.1)') 'T_ROAD',JLAYER
WRITE(YRECFM,'(A5,I2.1)') 'TROAD',JLAYER ELSE
WRITE(YRECFM,'(A5,I1.1)') 'TROAD',JLAYER
END IF
ELSE
IF (GOLD_NAME) THEN
WRITE(YRECFM,'(A6,I2.1)') 'T_ROAD',JLAYER
ELSE
WRITE(YRECFM,'(A5,I2.1)') 'TROAD',JLAYER
END IF
END IF END IF
ELSE ELSE
!--------------------------------------------- !---------------------------------------------
! Others: Roof or uniform Wall temperature profiles ! Others: Roof or uniform Wall temperature profiles
!--------------------------------------------- !---------------------------------------------
WRITE(YRECFM,'(A1,A4,I1.1)') YSURF(1:1),YSURF(3:6),JLAYER IF (GOLD_NAME) THEN
END IF WRITE(YRECFM,'(A6,I1.1)') YSURF(1:6),JLAYER
ELSE
WRITE(YRECFM,'(A1,A4,I1.1)') YSURF(1:1),YSURF(3:6),JLAYER
END IF
! !
END IF END IF
! !
YRECFM=YPATCH//YRECFM YRECFM=YPATCH//YRECFM
YRECFM=ADJUSTL(YRECFM) YRECFM=ADJUSTL(YRECFM)
CALL READ_SURF(HFILETYPE,YRECFM,ZFIELD(:,JLAYER),IRESP,HDIR='E') CALL READ_SURF(HFILETYPE,YRECFM,ZFIELD(:,JLAYER),IRESP,HDIR='E')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment