Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1f06bb6
Python: add legend, title to fdsplotlib
rmcdermo Jul 1, 2025
c4ad328
Merge pull request #14810 from rmcdermo/master
rmcdermo Jul 1, 2025
f7a1d5d
gh-actions: add intel 2025.2.0 release packages.
marcfehling Jul 1, 2025
a4d4c90
gh-actions: avoid linker issue by specifying mkl 2025.1.0 for linux-g…
marcfehling Jul 1, 2025
f91bc69
gh-actions: enable fds release build in linux-intel-intelmpi.
marcfehling Jul 1, 2025
a767f32
Merge pull request #14811 from marcfehling/oneapi
cxp484 Jul 2, 2025
eb0dc2d
gh-actions: move python test to separate job.
marcfehling Jul 1, 2025
a017383
Merge pull request #14812 from marcfehling/gh-python
cxp484 Jul 2, 2025
44ca52f
FDS Source: Reduce size of WALL_SEND_BUFFER
mcgratta Jul 2, 2025
fd650e4
Merge pull request #14816 from mcgratta/ht3d_mpi
mcgratta Jul 2, 2025
87a0213
FDS Verification: fix typo in expected csv file
rmcdermo Jul 2, 2025
34c8611
Merge pull request #14817 from rmcdermo/master
rmcdermo Jul 2, 2025
94ac746
FDS Verification: fix typo in column name list
rmcdermo Jul 2, 2025
fabdd25
Merge pull request #14818 from rmcdermo/master
rmcdermo Jul 2, 2025
989aab9
Manuals: fix location of firebot HOSTDIR
rmcdermo Jul 2, 2025
9973463
Merge pull request #14819 from rmcdermo/master
rmcdermo Jul 2, 2025
2a53802
Python: add + processing for columns in dataplot
rmcdermo Jul 2, 2025
958d897
Merge pull request #14820 from rmcdermo/master
rmcdermo Jul 2, 2025
30a5f99
Python conversions
mcgratta Jul 2, 2025
1d44880
Merge pull request #14821 from mcgratta/master
mcgratta Jul 2, 2025
9ec0f0b
Merge remote-tracking branch 'firemodels/master' into FireX
cxp484 Jul 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions .github/workflows/cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: cmake
env:
# update urls for oneapi packages according to
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ae29263e-38b9-4d43-86c3-376d6e0668e7/intel-oneapi-base-toolkit-2025.0.1.47_offline.exe
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/09a8acaf-265f-4460-866c-a3375ed5b4ff/intel-oneapi-base-toolkit-2025.2.0.591_offline.exe
WINDOWS_BASEKIT_COMPONENTS: intel.oneapi.win.mkl.devel
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/a37c30c3-a846-4371-a85d-603e9a9eb94c/intel-oneapi-hpc-toolkit-2025.0.1.48_offline.exe
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3bbdaf75-6728-492e-a18c-be654dae9ee2/intel-oneapi-hpc-toolkit-2025.2.0.576_offline.exe
WINDOWS_HPCKIT_COMPONENTS: intel.oneapi.win.ifort-compiler:intel.oneapi.win.mpi.devel

on:
Expand Down Expand Up @@ -79,10 +79,10 @@ jobs:
# if: endsWith(matrix.compiler_mpi, '_intelmpi')
with:
components: |
ifx@2025.0.1
icx@2025.0.1
impi@2021.14.1
mkl@2025.0.1
ifx
icx
impi
mkl

- name: install openmpi
if: endsWith(matrix.compiler_mpi, '_openmpi') && (startsWith(matrix.container, 'rockylinux') || startsWith(matrix.container, 'fedora'))
Expand Down
57 changes: 27 additions & 30 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,53 +34,27 @@ jobs:
- uses: rscohn2/setup-oneapi@v0
with:
components: |
ifx@2025.0.1
impi@2021.14.1
mkl@2025.0.1
ifx
impi
mkl
prune: false

- uses: actions/checkout@v4

- name: Check Current Memory Limit
run: ulimit -a # Check the memory limits

- name: free -h command
run: free -h

- name: build fds debug
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux_db
./make_fds.sh
./fds_impi_intel_linux_db

- name: free -h command
run: free -h

- name: build fds release
if: false # skip this run until ifx issue is sorted out
run: |
source /opt/intel/oneapi/setvars.sh
cd ./Build/impi_intel_linux
./make_fds.sh
./fds_impi_intel_linux

- name: free -h command
run: free -h

# Setup python
- uses: actions/setup-python@v5
with:
python-version: '3.9'
cache: 'pip' # caching pip dependencies
- run: pip install -r .github/requirements.txt

# Run Hello World test
- name: Python test
run: |
echo $GITHUB_WORKSPACE
cd $GITHUB_WORKSPACE/Utilities/Python
python hello_world.py

linux-gnu-openmpi:
# build on ubuntu using gfortran with openmpi and mkl based on
Expand All @@ -97,7 +71,7 @@ jobs:
- uses: rscohn2/setup-oneapi@v0
with:
components: |
mkl
mkl@2025.1.0
prune: false

- uses: actions/checkout@v4
Expand All @@ -113,3 +87,26 @@ jobs:
cd ./Build/ompi_gnu_linux
./make_fds.sh
./fds_ompi_gnu_linux


linux-python-helloworld:
# Run Hello World test

name: linux python helloworld
runs-on: [ubuntu-latest]

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: '3.9'
cache: 'pip' # caching pip dependencies
- run: pip install -r .github/requirements.txt

- name: Python test
run: |
echo $GITHUB_WORKSPACE
cd $GITHUB_WORKSPACE/Utilities/Python
python hello_world.py
: # python FDS_verification_script.py
4 changes: 2 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ permissions:
env:
# update urls for oneapi packages according to
# https://github.com/oneapi-src/oneapi-ci/blob/master/.github/workflows/build_all.yml
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ae29263e-38b9-4d43-86c3-376d6e0668e7/intel-oneapi-base-toolkit-2025.0.1.47_offline.exe
WINDOWS_BASEKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/09a8acaf-265f-4460-866c-a3375ed5b4ff/intel-oneapi-base-toolkit-2025.2.0.591_offline.exe
WINDOWS_BASEKIT_COMPONENTS: intel.oneapi.win.mkl.devel
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/a37c30c3-a846-4371-a85d-603e9a9eb94c/intel-oneapi-hpc-toolkit-2025.0.1.48_offline.exe
WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/3bbdaf75-6728-492e-a18c-be654dae9ee2/intel-oneapi-hpc-toolkit-2025.2.0.576_offline.exe
WINDOWS_HPCKIT_COMPONENTS: intel.oneapi.win.ifort-compiler:intel.oneapi.win.mpi.devel


Expand Down
2 changes: 1 addition & 1 deletion Manuals/Copy_Firebot_Figures.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ USE_SSH=
# set firebot host to spark
# if using USE_SSH=1 over VPN add user name to HOST, e.g., [email protected]
HOST=spark.nist.gov
HOSTDIR=/home/firebot/.firebot
HOSTDIR=/home/firebot/FireModels_clone/fds

# shouldn't have to change lines below

Expand Down
18 changes: 18 additions & 0 deletions Source/func.f90
Original file line number Diff line number Diff line change
Expand Up @@ -3058,6 +3058,24 @@ SUBROUTINE REALLOCATE_INTEGER_ARRAY(P,N1,N2,N3)
END SUBROUTINE REALLOCATE_INTEGER_ARRAY


!> \brief Change the allocation of an logical array with DIMENSION 1
!> \param P Original array
!> \param N1 Lower bound of old/new allocation
!> \param N2 Upper bound of old allocation
!> \param N3 Upper bound of new allocation

SUBROUTINE REALLOCATE_LOGICAL_ARRAY(P,N1,N2,N3)

LOGICAL, ALLOCATABLE, DIMENSION(:) :: P,DUMMY
INTEGER, INTENT(IN) :: N1,N2,N3

ALLOCATE(DUMMY(N1:N3))
IF (ALLOCATED(P)) DUMMY(N1:N2) = P(N1:N2)
CALL MOVE_ALLOC(DUMMY,P)

END SUBROUTINE REALLOCATE_LOGICAL_ARRAY


!> \brief Changes the allocation of a string array
!> \param P Original array
!> \param CLEN Length of string
Expand Down
46 changes: 34 additions & 12 deletions Source/init.f90
Original file line number Diff line number Diff line change
Expand Up @@ -1789,7 +1789,7 @@ SUBROUTINE INITIALIZE_HT3D_WALL_CELLS(NM)
USE GEOMETRY_FUNCTIONS, ONLY: SEARCH_OTHER_MESHES
INTEGER, INTENT(IN) :: NM
INTEGER :: I,IW,IW2,ITW,ITW2,NWP,NWP2,I2,IWA,DM,IOR,NOM,II,JJ,KK,NN,IC,NL
LOGICAL :: IOR_AVOID(-3:3)
LOGICAL :: IOR_AVOID(-3:3),FOUND
REAL(EB) :: X1,X2,Y1,Y2,Z1,Z2,XX1,XX2,YY1,YY2,ZZ1,ZZ2,PRIMARY_VOLUME,OVERLAP_VOLUME,DXX,DYY,DZZ,WEIGHT_FACTOR,&
SUM_WGT(3),XX,YY,ZZ,WEIGHT,TARGET_WEIGHT
TYPE(WALL_TYPE), POINTER :: WC
Expand All @@ -1799,6 +1799,7 @@ SUBROUTINE INITIALIZE_HT3D_WALL_CELLS(NM)
TYPE(BOUNDARY_THR_D_TYPE), POINTER :: THR_D
TYPE(BOUNDARY_COORD_TYPE), POINTER :: BC,BC2
TYPE(MESH_TYPE), POINTER :: M
TYPE(STORAGE_TYPE), POINTER :: OS
INTEGER, ALLOCATABLE, DIMENSION(:) :: INTEGER_DUMMY
REAL(EB), ALLOCATABLE, DIMENSION(:) :: REAL_DUMMY
REAL(EB), PARAMETER :: TOL=0.0001_EB
Expand Down Expand Up @@ -1894,13 +1895,17 @@ SUBROUTINE INITIALIZE_HT3D_WALL_CELLS(NM)

OTHER_MESH_LOOP: DO NOM=1,NMESHES
IF (NM==NOM) CYCLE
ALTERNATE_WALL_LOOP_2: DO NN=1,M%OMESH(NOM)%WALL_RECV_BUFFER%N_ITEMS
IW2 = M%OMESH(NOM)%WALL_RECV_BUFFER%ITEM_INDEX(NN)
OS => M%OMESH(NOM)%WALL_RECV_BUFFER
ALTERNATE_WALL_LOOP_2: DO NN=1,OS%N_ITEMS
IW2 = OS%ITEM_INDEX(NN)
CALL SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,WALL_INDEX=IW2)
IF (FOUND) OS%SAVE_FLAG(NN) = .TRUE.
ENDDO ALTERNATE_WALL_LOOP_2
ALTERNATE_WALL_LOOP_2D: DO NN=1,M%OMESH(NOM)%THIN_WALL_RECV_BUFFER%N_ITEMS ! THIN_WALL cells, neighboring meshes
ITW2 = M%OMESH(NOM)%THIN_WALL_RECV_BUFFER%ITEM_INDEX(NN)
OS => M%OMESH(NOM)%THIN_WALL_RECV_BUFFER
ALTERNATE_WALL_LOOP_2D: DO NN=1,OS%N_ITEMS ! THIN_WALL cells, neighboring meshes
ITW2 = OS%ITEM_INDEX(NN)
CALL SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,THIN_WALL_INDEX=ITW2)
IF (FOUND) OS%SAVE_FLAG(NN) = .TRUE.
ENDDO ALTERNATE_WALL_LOOP_2D
ENDDO OTHER_MESH_LOOP

Expand Down Expand Up @@ -1999,13 +2004,17 @@ SUBROUTINE INITIALIZE_HT3D_WALL_CELLS(NM)

OTHER_MESH_LOOP_B: DO NOM=1,NMESHES
IF (NM==NOM) CYCLE
ALTERNATE_WALL_LOOP_2B: DO NN=1,M%OMESH(NOM)%WALL_RECV_BUFFER%N_ITEMS ! WALL cells, neighboring meshes
IW2 = M%OMESH(NOM)%WALL_RECV_BUFFER%ITEM_INDEX(NN)
OS => M%OMESH(NOM)%WALL_RECV_BUFFER
ALTERNATE_WALL_LOOP_2B: DO NN=1,OS%N_ITEMS ! WALL cells, neighboring meshes
IW2 = OS%ITEM_INDEX(NN)
CALL SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,WALL_INDEX=IW2)
IF (FOUND) OS%SAVE_FLAG(NN) = .TRUE.
ENDDO ALTERNATE_WALL_LOOP_2B
ALTERNATE_WALL_LOOP_2C: DO NN=1,M%OMESH(NOM)%THIN_WALL_RECV_BUFFER%N_ITEMS ! THIN_WALL cells, neighboring meshes
ITW2 = M%OMESH(NOM)%THIN_WALL_RECV_BUFFER%ITEM_INDEX(NN)
OS => M%OMESH(NOM)%THIN_WALL_RECV_BUFFER
ALTERNATE_WALL_LOOP_2C: DO NN=1,OS%N_ITEMS ! THIN_WALL cells, neighboring meshes
ITW2 = OS%ITEM_INDEX(NN)
CALL SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,THIN_WALL_INDEX=ITW2)
IF (FOUND) OS%SAVE_FLAG(NN) = .TRUE.
ENDDO ALTERNATE_WALL_LOOP_2C
ENDDO OTHER_MESH_LOOP_B

Expand Down Expand Up @@ -2069,6 +2078,7 @@ SUBROUTINE SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,WALL_INDEX,THIN_WALL_INDEX)
TYPE(THIN_WALL_TYPE), POINTER :: TW2

M2 => MESHES(NOM)
FOUND = .FALSE.

IF (PRESENT(WALL_INDEX)) THEN
CELL = WALL_INDEX
Expand Down Expand Up @@ -2116,6 +2126,7 @@ SUBROUTINE SEARCH_FOR_ALTERNATE_WALL_CELLS(NOM,WALL_INDEX,THIN_WALL_INDEX)
OVERLAP_VOLUME = DXX*DYY*DZZ
WEIGHT_FACTOR = OVERLAP_VOLUME/PRIMARY_VOLUME
IF (WEIGHT_FACTOR<TOL) CYCLE ALTERNATE_NODE_LOOP
FOUND = .TRUE. ! Save the index of the alternate wall
DM = SIZE(THR_D%NODE(I)%ALTERNATE_WALL_INDEX)
IF (THR_D%NODE(I)%ALTERNATE_WALL_COUNT+1>DM) CALL REALLOCATE_ALTERNATE
THR_D%NODE(I)%ALTERNATE_WALL_COUNT = THR_D%NODE(I)%ALTERNATE_WALL_COUNT + 1
Expand Down Expand Up @@ -3713,7 +3724,7 @@ END SUBROUTINE SET_DENSITY_AND_MASS_FRACTIONS_AT_WALL

SUBROUTINE FIND_WALL_BACK_INDICES(NM)

USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY
USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY,REALLOCATE_LOGICAL_ARRAY
INTEGER, INTENT(IN) :: NM
INTEGER :: IW,ITW,N,NOM,IC,IOR,IEC
TYPE(MESH_TYPE), POINTER :: M,M4
Expand Down Expand Up @@ -3745,16 +3756,19 @@ SUBROUTINE FIND_WALL_BACK_INDICES(NM)
OS%N_ITEMS_DIM = 50
ALLOCATE(OS%ITEM_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SURF_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SAVE_FLAG(1:OS%N_ITEMS_DIM))
ENDIF
IF (COUNT(OS%ITEM_INDEX(1:OS%N_ITEMS)==M4%CELL(IC)%WALL_INDEX(IOR))>0) CYCLE
IF (OS%N_ITEMS>=OS%N_ITEMS_DIM) THEN
CALL REALLOCATE_INTEGER_ARRAY(OS%ITEM_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_INTEGER_ARRAY(OS%SURF_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_LOGICAL_ARRAY(OS%SAVE_FLAG ,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
OS%N_ITEMS_DIM = OS%N_ITEMS_DIM + 50
ENDIF
OS%N_ITEMS = OS%N_ITEMS + 1
OS%ITEM_INDEX(OS%N_ITEMS) = M4%CELL(IC)%WALL_INDEX(IOR)
OS%SURF_INDEX(OS%N_ITEMS) = M4%CELL(IC)%SURF_INDEX(IOR)
OS%SAVE_FLAG(OS%N_ITEMS) = .FALSE.
ENDDO
ENDDO
ENDDO
Expand Down Expand Up @@ -3783,11 +3797,13 @@ SUBROUTINE FIND_WALL_BACK_INDICES(NM)
IF (OS%N_ITEMS>=OS%N_ITEMS_DIM) THEN
CALL REALLOCATE_INTEGER_ARRAY(OS%ITEM_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_INTEGER_ARRAY(OS%SURF_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_LOGICAL_ARRAY(OS%SAVE_FLAG ,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
OS%N_ITEMS_DIM = OS%N_ITEMS_DIM + 50
ENDIF
OS%N_ITEMS = OS%N_ITEMS + 1
OS%ITEM_INDEX(OS%N_ITEMS) = M4%CELL(IC)%THIN_WALL_INDEX(IOR,IEC)
OS%SURF_INDEX(OS%N_ITEMS) = M4%CELL(IC)%THIN_SURF_INDEX(IOR,IEC)
OS%SAVE_FLAG(OS%N_ITEMS) = .FALSE.
ENDIF
ENDDO
ENDDO
Expand All @@ -3805,7 +3821,7 @@ END SUBROUTINE FIND_WALL_BACK_INDICES
SUBROUTINE FIND_WALL_BACK_INDEX(NM,IW)

USE GEOMETRY_FUNCTIONS, ONLY: SEARCH_OTHER_MESHES
USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY
USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY,REALLOCATE_LOGICAL_ARRAY
USE MISC_FUNCTIONS, ONLY: PROCESS_MESH_NEIGHBORHOOD
USE COMP_FUNCTIONS, ONLY: SHUTDOWN
INTEGER, INTENT(IN) :: NM,IW
Expand Down Expand Up @@ -4027,16 +4043,19 @@ SUBROUTINE FIND_WALL_BACK_INDEX(NM,IW)
OS%N_ITEMS_DIM = 50
ALLOCATE(OS%ITEM_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SURF_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SAVE_FLAG(1:OS%N_ITEMS_DIM))
ENDIF
IF (COUNT(OS%ITEM_INDEX(1:OS%N_ITEMS)==ONE_D%BACK_INDEX)==0) THEN
IF (OS%N_ITEMS>=OS%N_ITEMS_DIM) THEN
CALL REALLOCATE_INTEGER_ARRAY(OS%ITEM_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_INTEGER_ARRAY(OS%SURF_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_LOGICAL_ARRAY(OS%SAVE_FLAG ,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
OS%N_ITEMS_DIM = OS%N_ITEMS_DIM + 50
ENDIF
OS%N_ITEMS = OS%N_ITEMS + 1
OS%ITEM_INDEX(OS%N_ITEMS) = ONE_D%BACK_INDEX
OS%SURF_INDEX(OS%N_ITEMS) = ONE_D%BACK_SURF
OS%SAVE_FLAG(OS%N_ITEMS) = .TRUE.
ENDIF
ENDIF
EXIT FIND_BACK_WALL_CELL
Expand Down Expand Up @@ -4215,7 +4234,7 @@ END SUBROUTINE FIND_WALL_BACK_INDEX
SUBROUTINE FIND_THIN_WALL_BACK_INDEX(NM,ITW)

USE GEOMETRY_FUNCTIONS, ONLY: SEARCH_OTHER_MESHES
USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY
USE MEMORY_FUNCTIONS, ONLY: REALLOCATE_INTEGER_ARRAY,REALLOCATE_LOGICAL_ARRAY
INTEGER, INTENT(IN) :: NM,ITW
INTEGER :: II,JJ,KK,IC,IOR,IEC,ITW2,NOM,NN,NNN,NL,N_MATLS,IIGM,IIGP,JJGM,JJGP,KKGM,KKGP,ICM,ICP
INTEGER, DIMENSION(MAX_MATERIALS) :: MATL_INDEX
Expand Down Expand Up @@ -4334,16 +4353,19 @@ SUBROUTINE FIND_THIN_WALL_BACK_INDEX(NM,ITW)
OS%N_ITEMS_DIM = 50
ALLOCATE(OS%ITEM_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SURF_INDEX(1:OS%N_ITEMS_DIM))
ALLOCATE(OS%SAVE_FLAG(1:OS%N_ITEMS_DIM))
ENDIF
IF (COUNT(OS%ITEM_INDEX(1:OS%N_ITEMS)==ONE_D%BACK_INDEX)==0) THEN
IF (OS%N_ITEMS>=OS%N_ITEMS_DIM) THEN
CALL REALLOCATE_INTEGER_ARRAY(OS%ITEM_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_INTEGER_ARRAY(OS%SURF_INDEX,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
CALL REALLOCATE_LOGICAL_ARRAY(OS%SAVE_FLAG ,1,OS%N_ITEMS_DIM,OS%N_ITEMS_DIM+50)
OS%N_ITEMS_DIM = OS%N_ITEMS_DIM + 50
ENDIF
OS%N_ITEMS = OS%N_ITEMS + 1
OS%ITEM_INDEX(OS%N_ITEMS) = ONE_D%BACK_INDEX
OS%SURF_INDEX(OS%N_ITEMS) = ONE_D%BACK_SURF
OS%SAVE_FLAG(OS%N_ITEMS) = .TRUE.
ENDIF
SELECT CASE(ABS(IOR))
CASE(1) ; ONE_D%LAYER_THICKNESS(1) = OB%UNDIVIDED_INPUT_LENGTH(1)
Expand Down
Loading