Open sbenkorichi opened 6 years ago
Some update on this. This is what I'm having in mind of what I want the script to do:
1) scan read.f90
file and copy all the NAMELISTS
.
2) replace","
and "&"
with "|"
3) Write it in to the FDS.Sublime-syntax
file.
4) Create logical to copy only the non existing namelists into the FDS.Sublime-syntax
5) Delete any Namelist or parameter within it that can't be found in the copied namelists from read.90 file.
I so far was able to get step1 and step2 almost done, but still have some issue with copying lines, as there is no clear patterns in the NAMELISTS
in read.f90
(for example not all namelists are written in one single line), so, therefore, I think the way for this is to do it explicitly and provide specific lines (start and end line) to be copied from each namelists.
# copy namelists from read.f90
with open('read.f90') as f, open("namelists.txt","w") as fout:
while True:
line = f.readline()
if line.startswith('NAMELIST /'):
fout.write(line)
# break the loop at the end of file
if line.startswith('END MODULE READ_INPUT'):
break
# replace "," with "|" and delete "&"
with open("namelists.txt") as f:
replaceStr=f.read().replace(",","|")
with open("namelists.txt", "w") as f:
f.write(replaceStr)
f.close()
names =("&"," ","NAMELIST","/CATF/","/HEAD/","/MESH/","/TRNX/","/TRNY/","/TRNZ/","/TIME/","/MISC/",
"/MULT/","/WIND/","/DUMP/","/SPEC/","/COMB/","/REAC/","/PART/","/PROP/","/MATL/","/SURF/","/PRES/",
"/RADI/","/CLIP/","/RAMP/","/TABL/","/OBST/","/HOLE/","/VENT/","/INIT/","/ZONE/","/DEVC/","|DEPTH|",
"/CTRL/","/CTRL/","/PROF/","/ISOF/","/SLCF/","/RADF/","/BNDF/","/BNDE/","/CSVF/")
for i in names:
with open("namelists.txt", "r") as f:
cleaned_line = f.read().replace(i,"")
with open("namelists.txt", "w") as f:
f.write(cleaned_line)
f.close()
Salah,
As the first step, I would think in terms of just writing a simple test for one namelist line, and all the other parts of the sublime syntax file. Don't worry about deleting anything. This script can just build a new syntax file each time. It does not need to scan the current, make comparisons, delete, etc. It just needs to read "read.f90" and build from there.
Well,
The above code does that, but it does it for only the same line of each namelist, meaning if the namelist is more than 1 line in the read.f90
, the other lines won't be taken, because I haven't figure out a way to grep the start and end of each one. The only way I'm thinking of doing it is to provide a specific lines to be copied using similar formula to this.
lines=[25,26,27,29,30]
with open('read.f90') as f, open("namelists.txt","w") as fout:
i=0
for line in f:
if i in lines:
fout.write(line)
i+=1
I will update the script later when I get some time.
This script does half of the job, but the issue with this is that once the read file gets updated, all the line numbers need updating in the script file, which is not good thing. For single line namelists, I can grep them, but hard for me to grep a namelist that is more than 1 line as there is no clear patterns between the start of it and its ending. Unless, we might modify the read itself to suit this, but that's the last thing.
import itertools
# Clearing namelist.txt file
open('namelists.txt', 'w').close()
# grep single lines
xline =[168,390,1215,1216,1217,8032,8077,8219,9526,11212,11965,12722,12820,13167,13262,13345,13904]
for i in xline:
with open('../fds/Source/read.f90') as f, open("namelists.txt","a") as fout:
lines=f.readlines()
line = lines[i]
fout.write(line)
# grep multiple lines
xmin =(472,1661,1710,1827,2145,2387,2525,3858,3952,4644,5339,5805,6203,7807,7894,8394,10010,10757,11447,12879,)
xmax =(474,1664,1715,1855,2150,2394,2532,3862,3958,4656,5350,5810,6228,7817,7898,8401,10013,10762,11453,12882,)
for i, j in zip(xmin,xmax):
with open('../fds/Source/read.f90') as f, open("namelists.txt","a") as fout:
for line in itertools.islice(f, i, j):
if line.startswith('NAMELIST /'):
fout.write('\n' + line.rstrip())
else:
fout.write(line.rstrip())
fout.close()
# replace "," with "|"
with open("namelists.txt") as f:
replaceStr=f.read().replace(",","|")
with open("namelists.txt", "w") as f:
f.write(replaceStr)
f.close()
# removing white spaces
names =("&"," ")
for i in names:
with open("namelists.txt", "r") as f:
cleaned_line = f.read().replace(i,"")
with open("namelists.txt", "w") as f:
f.write(cleaned_line)
f.close()
print ("done")
This is the typical output
NAMELIST/CATF/OTHER_FILES
NAMELIST/HEAD/CHID|FYI|TITLE
NAMELIST/TRNX/CC|FYI|IDERIV|MESH_NUMBER|PC
NAMELIST/TRNY/CC|FYI|IDERIV|MESH_NUMBER|PC
NAMELIST/TRNZ/CC|FYI|IDERIV|MESH_NUMBER|PC
NAMELIST/CLIP/FYI|MAXIMUM_DENSITY|MAXIMUM_TEMPERATURE|MINIMUM_DENSITY|MINIMUM_TEMPERATURE
NAMELIST/RAMP/CTRL_ID|DEVC_ID|F|FYI|ID|NUMBER_INTERPOLATION_POINTS|T|X|Z
NAMELIST/TABL/FYI|ID|TABLE_DATA
NAMELIST/HOLE/BLOCK_WIND|COLOR|CTRL_ID|DEVC_ID|EVACUATION|FYI|ID|MESH_ID|MULT_ID|RGB|TRANSPARENCY|XB
NAMELIST/ZONE/ID|LEAK_AREA|LEAK_PRESSURE_EXPONENT|LEAK_REFERENCE_PRESSURE|XB|PERIODIC|XYZ
NAMELIST/CTRL/CONSTANT|CYCLES|CYCLE_TIME|DELAY|DIFFERENTIAL_GAIN|EVACUATION|FUNCTION_TYPE|ID|INITIAL_STATE|INTEGRAL_GAIN|
NAMELIST/PROF/FORMAT_INDEX|FYI|ID|INIT_ID|IOR|QUANTITY|XYZ
NAMELIST/ISOF/FYI|QUANTITY|SPEC_ID|VALUE|VELO_INDEX
NAMELIST/BNDF/CELL_CENTERED|FYI|PART_ID|PROP_ID|QUANTITY|SPEC_ID|STATISTICS
NAMELIST/BNDE/CELL_CENTERED|FYI|PART_ID|PROP_ID|QUANTITY|SPEC_ID
NAMELIST/CSVF/CSVFILE|UVWFILE
NAMELIST/MESH/CHECK_MESH_ALIGNMENT|COLOR|CYLINDRICAL|EVACUATION|EVAC_HUMANS|EVAC_Z_OFFSET|FYI|ID|IJK|LEVEL|MPI_PROCESS|MULT_ID|RGB|XB|N_THREADS
NAMELIST/TIME/DT|EVAC_DT_FLOWFIELD|EVAC_DT_STEADY_STATE|FYI|LIMITING_DT_RATIO|LOCK_TIME_STEP|RESTRICT_TIME_STEP|T_BEGIN|T_END|T_END_GEOM|TIME_SHRINK_FACTOR|WALL_INCREMENT|WALL_INCREMENT_HT3D|TWFIN!Backwardcompatibility
NAMELIST/MULT/DX|DXB|DX0|DY|DY0|DZ|DZ0|FYI|ID|I_LOWER|I_LOWER_SKIP|I_UPPER|I_UPPER_SKIP|J_LOWER|J_LOWER_SKIP|J_UPPER|J_UPPER_SKIP|K_LOWER|K_LOWER_SKIP|K_UPPER|K_UPPER_SKIP|N_LOWER|N_LOWER_SKIP|N_UPPER_SKIP|N_UPPER
NAMELIST/MISC/AGGLOMERATION|AEROSOL_AL2O3|ALLOW_SURFACE_PARTICLES|ALLOW_UNDERSIDE_PARTICLES|ASSUMED_GAS_TEMPERATURE|ASSUMED_GAS_TEMPERATURE_RAMP|BAROCLINIC|BNDF_DEFAULT|CC_IBM|CCVOL_LINK|CC_ZEROIBM_VELO|CHECK_MASS_CONSERVE|CNF_CUTOFF|CFL_MAX|CFL_MIN|CFL_VELOCITY_NORM|CHECK_HT|CHECK_VN|COMPUTE_CUTCELLS_ONLY|CONSTANT_H_SOLID|CONSTANT_SPECIFIC_HEAT_RATIO|CORRECT_SUBGRID_TEMPERATURE|C_DEARDORFF|C_RNG|C_RNG_CUTOFF|C_SMAGORINSKY|C_VREMAN|C_WALE|DNS|DO_IMPLICIT_CCREGION|DRAG_CFL_MAX|DEPOSITION|ENTHALPY_TRANSPORT|EVACUATION_DRILL|EVACUATION_MC_MODE|EVAC_PRESSURE_ITERATIONS|EVAC_SURF_DEFAULT|EVAC_TIME_ITERATIONS|EXTERNAL_BOUNDARY_CORRECTION|HVAC_PRES_RELAX|HT3D_TEST|POSITIVE_ERROR_TEST|FLUX_LIMITER|FREEZE_VELOCITY|FYI|GAMMA|GRAVITATIONAL_DEPOSITION|GRAVITATIONAL_SETTLING|GVEC|H_F_REFERENCE_TEMPERATURE|HUMIDITY|HVAC_LOCAL_PRESSURE|HVAC_MASS_TRANSPORT|IBLANK_SMV|IMMERSED_BOUNDARY_METHOD|MAX_LEAK_PATHS|MAXIMUM_VISIBILITY|MPI_TIMEOUT|N_INITIAL_PARTICLE_SUBSTEPS|NEAR_WALL_TURBULENCE_MODEL|NOISE|NOISE_VELOCITY|NO_EVACUATION|OVERWRITE|PARTICLE_CFL_MAX|PARTICLE_CFL_MIN|PARTICLE_CFL|PERIODIC_TEST|PROFILING|POROUS_FLOOR|PR|PROCESS_CUTCELLS|PROJECTION|P_INF|PROCESS_ALL_MESHES|RAMP_GX|RAMP_GY|RAMP_GZ|RADIATION|RESEARCH_MODE|RESTART|RESTART_CHID|SC|SHARED_FILE_SYSTEM|SIMULATION_MODE|SLIP_CONDITION|SMOKE_ALBEDO|SOLID_PHASE_ONLY|SOOT_OXIDATION|STRATIFICATION|SUPPRESSION|SURF_DEFAULT|TAU_DEFAULT|TENSOR_DIFFUSIVITY|TERRAIN_CASE|TERRAIN_IMAGE|TEST_FILTER_QUADRATURE|TEXTURE_ORIGIN|THERMOPHORETIC_DEPOSITION|THERMOPHORETIC_SETTLING|THICKEN_OBSTRUCTIONS|TMPA|TURBULENCE_MODEL|TURBULENT_DEPOSITION|TURB_INIT_CLOCK|UVW_FILE|VEG_LEVEL_SET_COUPLED|VEG_LEVEL_SET_UNCOUPLED|VERBOSE|VISIBILITY_FACTOR|VN_MAX|VN_MIN|Y_CO2_INFTY|Y_O2_INFTY|WIND_ONLY
NAMELIST/WIND/CORIOLIS_VECTOR|DIRECTION|DT_MEAN_FORCING|FORCE_VECTOR|FYI|GROUND_LEVEL|L|LAPSE_RATE|MEAN_FORCING|OBUKHOV_LENGTH|POTENTIAL_TEMPERATURE_CORRECTION|RAMP_DIRECTION|RAMP_SPEED|RAMP_FVX_T|RAMP_FVY_T|RAMP_FVZ_T|RAMP_TMP0_Z|RAMP_U0_T|RAMP_V0_T|RAMP_W0_T|RAMP_U0_Z|RAMP_V0_Z|RAMP_W0_Z|REFERENCE_HEIGHT|REFERENCE_TEMPERATURE|SPEED|SPONGE_CELLS|STRATIFICATION|THETA_STAR|TMP_REF|U_STAR|U0|USE_ATMOSPHERIC_INTERPOLATION|V0|W0|Z_0|Z_REF
NAMELIST/DUMP/CFL_FILE|CLIP_RESTART_FILES|COLUMN_DUMP_LIMIT|CTRL_COLUMN_LIMIT|DEVC_COLUMN_LIMIT|DT_BNDE|DT_BNDF|DT_CPU|DT_CTRL|DT_DEVC|DT_DEVC_LINE|DT_FLUSH|DT_GEOM|DT_HRR|DT_ISOF|DT_MASS|DT_PART|DT_PL3D|DT_PROF|DT_RESTART|DT_RADF|DT_SL3D|DT_SLCF|EB_PART_FILE|FLUSH_FILE_BUFFERS|GEOM_DIAG|MASS_FILE|MAXIMUM_PARTICLES|MMS_TIMER|NFRAMES|PLOT3D_PART_ID|PLOT3D_QUANTITY|PLOT3D_SPEC_ID|PLOT3D_VELO_INDEX|RENDER_FILE|SIG_FIGS|SIG_FIGS_EXP|SMOKE3D|SMOKE3D_QUANTITY|SMOKE3D_SPEC_ID|STATUS_FILES|SUPPRESS_DIAGNOSTICS|T_DEVC_LINE_END|T_RADF_BEGIN|T_RADF_END|UVW_TIMER|VELOCITY_ERROR_FILE|WRITE_XYZ|GET_CUTCELLS_VERBOSE
NAMELIST/SPEC/AEROSOL|BACKGROUND|BETA_LIQUID|CONDUCTIVITY|CONDUCTIVITY_LIQUID|CONDUCTIVITY_SOLID|COPY_LUMPED|DENSITY_LIQUID|DENSITY_SOLID|DIFFUSIVITY|ENTHALPY_OF_FORMATION|EPSILONKLJ|FIC_CONCENTRATION|FLD_LETHAL_DOSE|FORMULA|FYI|HEAT_OF_VAPORIZATION|H_V_REFERENCE_TEMPERATURE|ID|LUMPED_COMPONENT_ONLY|MASS_EXTINCTION_COEFFICIENT|MASS_FRACTION|MASS_FRACTION_0|MAX_DIAMETER|MEAN_DIAMETER|MELTING_TEMPERATURE|MIN_DIAMETER|MW|N_BINS|PR_GAS|PRIMITIVE|RADCAL_ID|RAMP_CP|RAMP_CP_L|RAMP_D|RAMP_G_F|RAMP_K|RAMP_MU|REFERENCE_ENTHALPY|REFERENCE_TEMPERATURE|SIGMALJ|SPEC_ID|SPECIFIC_HEAT|SPECIFIC_HEAT_LIQUID|VAPORIZATION_TEMPERATURE|VISCOSITY|VISCOSITY_LIQUID|VOLUME_FRACTION
NAMELIST/COMB/CHECK_REALIZABILITY|EXTINCTION_MODEL|FIXED_MIX_TIME|FUEL_C_TO_CO_FRACTION|FUEL_H_TO_H2_FRACTION|HRRPUV_CUT_MAX|HRRPUV_MAX_SMV|INITIAL_UNMIXED_FRACTION|MAX_CHEMISTRY_SUBSTEPS|N_FIXED_CHEMISTRY_SUBSTEPS|N_SIMPLE_CHEMISTRY_REACTIONS|ODE_SOLVER|RADIATIVE_FRACTION|RICHARDSON_ERROR_TOLERANCE|SUPPRESSION|TAU_CHEM|TAU_FLAME|TEMP_MAX_SMV
NAMELIST/REAC/A|AUTO_IGNITION_TEMPERATURE|C|CHECK_ATOM_BALANCE|CO_YIELD|CRITICAL_FLAME_TEMPERATURE|E|EPUMO2|K|EQUATION|FORMULA|FUEL|FUEL_RADCAL_ID|FWD_ID|FYI|H|HEAT_OF_COMBUSTION|HOC_COMPLETE|ID|IDEAL|LOWER_OXYGEN_LIMIT|N|NU|N_S|N_T|O|PRIORITY|RADIATIVE_FRACTION|RAMP_AIT|RAMP_CHI_R|REAC_ATOM_ERROR|REAC_MASS_ERROR|REVERSE|SOOT_H_FRACTION|SOOT_YIELD|SPEC_ID_N_S|SPEC_ID_NU|THIRD_BODY
NAMELIST/PART/AGE|BREAKUP|BREAKUP_CNF_RAMP_ID|BREAKUP_DISTRIBUTION|BREAKUP_GAMMA_D|BREAKUP_RATIO|BREAKUP_SIGMA_D|CHECK_DISTRIBUTION|CNF_RAMP_ID|COLOR|COMPLEX_REFRACTIVE_INDEX|CTRL_ID|DENSE_VOLUME_FRACTION|DEVC_ID|DIAMETER|DISTRIBUTION|DRAG_COEFFICIENT|DRAG_LAW|EMBER_DENSITY_THRESHOLD|EMBER_PARTICLE|EMBER_VELOCITY_THRESHOLD|FREE_AREA_FRACTION|FYI|GAMMA_D|HEAT_OF_COMBUSTION|HORIZONTAL_VELOCITY|ID|INITIAL_TEMPERATURE|MASSLESS|MAXIMUM_DIAMETER|MINIMUM_DIAMETER|MONODISPERSE|N_STRATA|ORIENTATION|PERMEABILITY|PERIODIC_X|PERIODIC_Y|PERIODIC_Z|POROUS_VOLUME_FRACTION|PRIMARY_BREAKUP_DRAG_REDUCTION_FACTOR|PRIMARY_BREAKUP_LENGTH|PROP_ID|QUANTITIES|QUANTITIES_SPEC_ID|RADIATIVE_PROPERTY_TABLE|REAL_REFRACTIVE_INDEX|RGB|RUNNING_AVERAGE_FACTOR|SAMPLING_FACTOR|SECOND_ORDER_PARTICLE_TRANSPORT|SHAPE_FACTOR|SIGMA_D|SPEC_ID|STATIC|SURFACE_TENSION|SURF_ID|TARGET_ONLY|TURBULENT_DISPERSION|VERTICAL_VELOCITY
NAMELIST/PROP/ACTIVATION_OBSCURATION|ACTIVATION_TEMPERATURE|ALPHA_C|ALPHA_E|BETA_C|BETA_E|FED_ACTIVITY|CHARACTERISTIC_VELOCITY|C_FACTOR|DENSITY|DIAMETER|EMISSIVITY|FLOW_RAMP|FLOW_RATE|FLOW_TAU|GAUGE_EMISSIVITY|GAUGE_TEMPERATURE|HEAT_TRANSFER_COEFFICIENT|ID|INITIAL_TEMPERATURE|K_FACTOR|LENGTH|MASS_FLOW_RATE|OFFSET|OPERATING_PRESSURE|ORIFICE_DIAMETER|P0|PARTICLES_PER_SECOND|PARTICLE_VELOCITY|PART_ID|PDPA_END|PDPA_HISTOGRAM|PDPA_HISTOGRAM_LIMITS|PDPA_HISTOGRAM_NBINS|PDPA_HISTOGRAM_CUMULATIVE|PDPA_INTEGRATE|PDPA_M|PDPA_N|PDPA_NORMALIZE|PDPA_RADIUS|PDPA_START|PRESSURE_RAMP|PX|PXX|QUANTITY|RTI|SMOKEVIEW_ID|SMOKEVIEW_PARAMETERS|SPEC_ID|SPECIFIC_HEAT|SPRAY_ANGLE|SPRAY_PATTERN_BETA|SPRAY_PATTERN_MU|SPRAY_PATTERN_SHAPE|SPRAY_PATTERN_TABLE|VELOCITY_COMPONENT|BEAD_EMISSIVITY|BEAD_HEAT_TRANSFER_COEFFICIENT|DROPLET_VELOCITY|!BackwardcompatabilityBEAD_DENSITY|BEAD_DIAMETER|BEAD_SPECIFIC_HEAT!Backwardcompatability
NAMELIST/MATL/A|ABSORPTION_COEFFICIENT|ALLOW_SHRINKING|ALLOW_SWELLING|BETA_CHAR|BOILING_TEMPERATURE|COLOR|CONDUCTIVITY|CONDUCTIVITY_RAMP|DENSITY|DIFFUSIVITY_SPEC|E|EMISSIVITY|FYI|GAS_DIFFUSION_DEPTH|HEATING_RATE|HEAT_OF_COMBUSTION|HEAT_OF_REACTION|ID|MATL_ID|NU_MATL|NU_SPEC|N_REACTIONS|N_S|N_T|N_O2|NU_O2|PCR|POROSITY|PYROLYSIS_RANGE|REFERENCE_RATE|REFERENCE_TEMPERATURE|REFRACTIVE_INDEX|RGB|SPECIFIC_HEAT|SPECIFIC_HEAT_RAMP|SPEC_ID|THRESHOLD_SIGN|THRESHOLD_TEMPERATURE|VEGETATION
NAMELIST/SURF/ADIABATIC|AREA_ADJUST|AUTO_IGNITION_TEMPERATURE|BACKING|BURN_AWAY|CELL_SIZE_FACTOR|C_FORCED_CONSTANT|C_FORCED_PR_EXP|C_FORCED_RE|C_FORCED_RE_EXP|C_HORIZONTAL|C_VERTICAL|COLOR|CONVECTION_LENGTH_SCALE|CONVECTIVE_HEAT_FLUX|CONVERT_VOLUME_TO_MASS|DEFAULT|DT_INSERT|EMISSIVITY|EMISSIVITY_BACK|EVAC_DEFAULT|EXTERNAL_FLUX|E_COEFFICIENT|EXTINCTION_TEMPERATURE|FIRELINE_MLR_MAX|FSK_K|FSK_A|FSK_W|FREE_SLIP|FYI|GEOMETRY|HEAT_OF_VAPORIZATION|HEAT_TRANSFER_COEFFICIENT|HEAT_TRANSFER_COEFFICIENT_BACK|HEAT_TRANSFER_MODEL|HRRPUA|HT3D|ID|IGNITION_TEMPERATURE|IMPERMEABLE|INNER_RADIUS|INTERNAL_HEAT_SOURCE|LAYER_DIVIDE|LEAK_PATH|LENGTH|MASS_FLUX|MASS_FLUX_TOTAL|MASS_FLUX_VAR|MASS_FRACTION|MASS_TRANSFER_COEFFICIENT|MATL_ID|MATL_MASS_FRACTION|MINIMUM_LAYER_THICKNESS|MLRPUA|N_CELLS_MAX|N_LAYER_CELLS_MAX|NET_HEAT_FLUX|NO_SLIP|NPPC|PARTICLE_MASS_FLUX|PARTICLE_SURFACE_DENSITY|PART_ID|PLE|PROFILE|RADIUS|RAMP_EF|RAMP_MF|RAMP_PART|RAMP_Q|RAMP_T|RAMP_T_I|RAMP_V|RAMP_V_X|RAMP_V_Y|RAMP_V_Z|RGB|ROUGHNESS|SPEC_ID|SPREAD_RATE|STRETCH_FACTOR|TAU_EF|TAU_MF|TAU_PART|TAU_Q|TAU_T|TAU_V|TEXTURE_HEIGHT|TEXTURE_MAP|TEXTURE_WIDTH|TGA_ANALYSIS|TGA_FINAL_TEMPERATURE|TGA_HEATING_RATE|THICKNESS|TMP_BACK|TMP_FRONT|TMP_INNER|TRANSPARENCY|VEGETATION|VEGETATION_ARRHENIUS_DEGRAD|VEGETATION_CDRAG|VEGETATION_CHAR_FRACTION|VEGETATION_ELEMENT_DENSITY|VEGETATION_GROUND_TEMP|VEGETATION_HEIGHT|VEGETATION_INITIAL_TEMP|VEGETATION_LAYERS|VEGETATION_LINEAR_DEGRAD|VEGETATION_LOAD|VEGETATION_LSET_IGNITE_TIME|VEG_LSET_QCON|VEGETATION_MOISTURE|VEGETATION_NO_BURN|VEGETATION_SVRATIO|VEG_LEVEL_SET_SPREAD|VEG_LSET_ROS_BACK|VEG_LSET_ROS_FLANK|VEG_LSET_ROS_HEAD|VEG_LSET_WIND_EXP|VEG_LSET_SIGMA|VEG_LSET_HT|VEG_LSET_BETA|VEG_LSET_ELLIPSE|VEG_LSET_TAN2|VEG_LSET_ELLIPSE_HEAD|VEL|VEL_BULK|VEL_GRAD|VEL_T|VOLUME_FLOW|WIDTH|XYZ|Z0|ZETA_FRONT|EXTERNAL_FLUX_RAMP|TAU_EXTERNAL_FLUX|VOLUME_FLUX!Backwardscompatability??
NAMELIST/PRES/CHECK_POISSON|FISHPAK_BC|ITERATION_SUSPEND_FACTOR|LAPLACE_PRESSURE_CORRECTION|SCARC_METHOD|SCARC_DISCRETIZATION|SCARC_VERBOSE|SCARC_DEBUG|SCARC_CSV|SCARC_ACCURACY|SCARC_KRYLOV|SCARC_KRYLOV_ITERATIONS|SCARC_KRYLOV_ACCURACY|SCARC_KRYLOV_INTERPOL|SCARC_MULTIGRID|SCARC_MULTIGRID_ITERATIONS|SCARC_MULTIGRID_ACCURACY|SCARC_PRECISION|SCARC_TWOLEVEL|SCARC_MULTIGRID_CYCLE|SCARC_MULTIGRID_LEVEL|SCARC_MULTIGRID_COARSENING|SCARC_MULTIGRID_INTERPOL|SCARC_SMOOTH|SCARC_SMOOTH_ITERATIONS|SCARC_SMOOTH_ACCURACY|SCARC_SMOOTH_OMEGA|SCARC_PRECON|SCARC_PRECON_ITERATIONS|SCARC_PRECON_ACCURACY|SCARC_PRECON_OMEGA|SCARC_PRECISION|SCARC_COARSE|SCARC_COARSE_ITERATIONS|SCARC_COARSE_ACCURACY|SCARC_COARSE_OMEGA|SCARC_COARSE_LEVEL|MAX_PRESSURE_ITERATIONS|PRESSURE_RELAX_TIME|PRESSURE_TOLERANCE|RELAXATION_FACTOR|SOLVER|SUSPEND_PRESSURE_ITERATIONS|VELOCITY_TOLERANCE
NAMELIST/RADI/ANGLE_INCREMENT|BAND_LIMITS|C_MAX|C_MIN|INITIAL_RADIATION_ITERATIONS|KAPPA0|NMIEANG|NUMBER_RADIATION_ANGLES|OPTICALLY_THIN|PATH_LENGTH|QR_CLIP|RADIATION|RADIATION_ITERATIONS|RADTMP|RTE_SOURCE_CORRECTION|TIME_STEP_INCREMENT|WIDE_BAND_MODEL|MIE_MINIMUM_DIAMETER|MIE_MAXIMUM_DIAMETER|MIE_NDG|NUMBER_INITIAL_ITERATIONS!Backwardcompatibility
NAMELIST/OBST/ALLOW_VENT|BNDF_FACE|BNDF_OBST|BULK_DENSITY|COLOR|CTRL_ID|DEVC_ID|EVACUATION|FYI|HEIGHT|HT3D|ID|INTERNAL_HEAT_SOURCE|LENGTH|MATL_ID|MESH_ID|MULT_ID|NOTERRAIN|ORIENTATION|OUTLINE|OVERLAY|PERMIT_HOLE|PROP_ID|PYRO3D_IOR|PYRO3D_MASS_TRANSPORT|RADIUS|RAMP_Q|REMOVABLE|RGB|SHAPE|SURF_ID|SURF_ID6|SURF_IDS|TEXTURE_ORIGIN|THETA|THICKEN|TRANSPARENCY|WIDTH|XB|XYZ
NAMELIST/VENT/COLOR|CTRL_ID|DEVC_ID|DYNAMIC_PRESSURE|EVACUATION|FYI|ID|IOR|L_EDDY|L_EDDY_IJ|MB|MESH_ID|MULT_ID|N_EDDY|OBST_ID|OUTLINE|PBX|PBY|PBZ|PRESSURE_RAMP|RADIUS|REYNOLDS_STRESS|RGB|SLCF_ID|SPREAD_RATE|SURF_ID|TEXTURE_ORIGIN|TMP_EXTERIOR|TMP_EXTERIOR_RAMP|TRANSPARENCY|UVW|VEL_RMS|WIND|XB|XYZ
NAMELIST/INIT/AUTO_IGNITION_TEMPERATURE|CELL_CENTERED|CTRL_ID|DENSITY|DEVC_ID|DIAMETER|DT_INSERT|DX|DY|DZ|HEIGHT|HRRPUV|ID|MASS_FRACTION|MASS_PER_TIME|MASS_PER_VOLUME|MULT_ID|N_PARTICLES|N_PARTICLES_PER_CELL|PART_ID|PARTICLE_WEIGHT_FACTOR|RADIUS|SHAPE|SPEC_ID|TEMPERATURE|UNIFORM|UVW|VOLUME_FRACTION|XB|XYZ|NUMBER_INITIAL_PARTICLES!Backwardscompatability
NAMELIST/DEVC/ABSOLUTE_VALUE|BYPASS_FLOWRATE|CONVERSION_FACTOR|CONVERSION_ADDEND|COORD_FACTOR|CTRL_ID|DELAY|DEPTH|DEVC_ID|DRY|DUCT_ID|EVACUATION|FLOWRATE|FYI|GHOST_CELL_IOR|HIDE_COORDINATES|ID|INITIAL_STATE|INIT_ID|IOR|LATCH|MATL_ID|NODE_ID|NO_UPDATE_DEVC_ID|NO_UPDATE_CTRL_ID|ORIENTATION|ORIENTATION_NUMBER|OUTPUT|PART_ID|PIPE_INDEX|POINTS|PROP_ID|QUANTITY|QUANTITY2|QUANTITY_RANGE|REAC_ID|RELATIVE|R_ID|ROTATION|SETPOINT|SMOOTHING_FACTOR|SPEC_ID|STATISTICS|STATISTICS_START|SURF_ID|TIME_AVERAGED|TIME_HISTORY|TRIP_DIRECTION|UNITS|VELO_INDEX|XB|XYZ|X_ID|Y_ID|Z_ID|XYZ_UNITS
NAMELIST/SLCF/AGL_SLICE|CELL_CENTERED|EVACUATION|FACE_CENTERED|FIRE_LINE|FYI|ID|IOR|LEVEL_SET_FIRE_LINE|MAXIMUM_VALUE|MATL_ID|MESH_NUMBER|MINIMUM_VALUE|PART_ID|PBX|PBY|PBZ|PROP_ID|QUANTITY|QUANTITY2|REAC_ID|SLICETYPE|SMV_OFFSET|SPEC_ID|VECTOR|VELO_INDEX|XB
I've started working on this script. Once I complete it, I will send PR.