.. _fort15: Fort.15: Model Parameter and Periodic Boundary Condition File ============================================================= The fort.15 file contains the majority of the parameters required to run both the 2DDI and 3D versions of ADCIRC and the information to drive the model with harmonic boundary conditions (either elevation or flux). This file is required to run the ADCIRC model. File Structure -------------- The basic file structure is shown below. Each line of input data is represented by a line containing the input variable name(s). Loops indicate multiple lines of input. Conditional input is indicated by a clause following the variable name(s). .. parsed-literal:: :ref:`RUNDES ` :ref:`RUNID ` :ref:`NFOVER ` :ref:`NABOUT ` :ref:`NSCREEN ` :ref:`IHOT ` :ref:`ICS ` :ref:`IM ` :ref:`IDEN ` if IM = 21 :ref:`NOLIBF ` :ref:`NOLIFA ` :ref:`NOLICA ` :ref:`NOLICAT ` :ref:`NWP ` for j=1 to :ref:`NWP ` :ref:`AttrName(j) ` end j loop :ref:`NCOR ` :ref:`NTIP ` :ref:`NWS ` :ref:`NRAMP ` :ref:`G ` :ref:`TAU0 ` :ref:`Tau0FullDomainMin `, :ref:`Tau0FullDomainMax ` if TAU0 = -5.0 :ref:`DTDP ` :ref:`STATIM ` :ref:`REFTIM ` :ref:`WTIMINC ` :ref:`RNDAY ` :ref:`DRAMP ` if NRAMP = 0 or 1 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime ` if NRAMP = 2 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux ` if NRAMP = 3 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux `, :ref:`DRAMPElev ` if NRAMP = 4 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux `, :ref:`DRAMPElev `, :ref:`DRAMPTip ` if NRAMP = 5 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux `, :ref:`DRAMPElev `, :ref:`DRAMPTip `, :ref:`DRAMPMete ` if NRAMP = 6 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux `, :ref:`DRAMPElev `, :ref:`DRAMPTip `, :ref:`DRAMPMete `, :ref:`DRAMPWRad ` if NRAMP = 7 :ref:`DRAMP `, :ref:`DRAMPExtFlux `, :ref:`FluxSettlingTime `, :ref:`DRAMPIntFlux `, :ref:`DRAMPElev `, :ref:`DRAMPTip `, :ref:`DRAMPMete `, :ref:`DRAMPWRad `, :ref:`DUnRampMete ` if NRAMP = 8 :ref:`A00 `, :ref:`B00 `, :ref:`C00 ` :ref:`H0 ` if NOLIFA = 0, 1 :ref:`H0 ` :ref:`INTEGER ` :ref:`INTEGER ` :ref:`VELMIN ` if NOLIFA = 2 or 3 :ref:`SLAM0 `, :ref:`SFEA0 ` :ref:`TAU ` if NOLIBF = 0 :ref:`CF ` if NOLIBF = 1 :ref:`CF `, :ref:`HBREAK `, :ref:`FTHETA `, :ref:`FGAMMA ` if NOLIBF = 2 :ref:`ESLM ` if IM = 0, 1, 2 :ref:`ESLM `, :ref:`ESLC ` if IM = 10 :ref:`CORI ` if NCOR = 1 :ref:`NTIF ` for k=1 to :ref:`NTIF ` :ref:`TIPOTAG(k) ` :ref:`TPK(k) `, :ref:`AMIGT(k) `, :ref:`ETRF(k) `, :ref:`FFT(k) `, :ref:`FACET(k) ` end k loop :ref:`NBFR ` for k=1 to :ref:`NBFR ` :ref:`BOUNTAG(k) ` :ref:`AMIG(k) `, :ref:`FF(k) `, :ref:`FACE(k) ` end k loop for k=1 to :ref:`NBFR ` :ref:`ALPHAE(k) ` for j=1 to :ref:`NETA ` :ref:`EMO(k,j) `, :ref:`EFA(k,j) ` end j loop end k loop :ref:`ANGINN ` :ref:`NFFR ` include this line only if IBTYPE = 2, 12, 22, 32 or 52 in the Grid and Boundary Information File for k=1 to :ref:`NFFR ` :ref:`FBOUNTAG(k) ` :ref:`FAMIGT(k) `, :ref:`FFF(k) `, :ref:`FFACE(k) ` end k loop for k=1 to :ref:`NFFR ` :ref:`ALPHAQ(k) ` for j=1 to :ref:`NVEL ` :ref:`QNAM(k,j) `, :ref:`QNPH(k,j) ` use this line if IBTYPE = 2, 12, 22 in the Grid and Boundary Information File :ref:`QNAM(k,j) `, :ref:`QNPH(k,j) `, :ref:`ENAM(k,j) `, :ref:`ENPH(k,j) ` use this line if IBTYPE = 32 in the Grid and Boundary Information File end j loop end k loop :ref:`NOUTE `, :ref:`TOUTSE `, :ref:`TOUTFE `, :ref:`NSPOOLE ` :ref:`NSTAE ` for k=1 to :ref:`NSTAE ` :ref:`XEL(k) `, :ref:`YEL(k) ` end k loop :ref:`NOUTV `, :ref:`TOUTSV `, :ref:`TOUTFV `, :ref:`NSPOOLV ` :ref:`NSTAV ` for k=1 to :ref:`NSTAV ` :ref:`XEV(k) `, :ref:`YEV(k) ` end k loop :ref:`NOUTC `, :ref:`TOUTSC `, :ref:`TOUTFC `, :ref:`NSPOOLC ` include this line only if IM =10 :ref:`NSTAC ` include this line only if IM =10 for k=1 to :ref:`NSTAC ` :ref:`XEC(k) `, :ref:`YEC(k) ` end k loop :ref:`NOUTM `, :ref:`TOUTSM `, :ref:`TOUTFM `, :ref:`NSPOOLM ` include this line only if NWS is not equal to zero :ref:`NSTAM ` include this line only if NWS is not equal to zero for k=1 to :ref:`NSTAM ` :ref:`XEM(k) `, :ref:`YEM(k) ` end k loop :ref:`NOUTGE `, :ref:`TOUTSGE `, :ref:`TOUTFGE `, :ref:`NSPOOLGE ` :ref:`NOUTGV `, :ref:`TOUTSGV `, :ref:`TOUTFGV `, :ref:`NSPOOLGV ` :ref:`NOUTGC `, :ref:`TOUTSGC `, :ref:`TOUTFGC `, :ref:`NSPOOLGC ` include this line only if IM =10 :ref:`NOUTGW `, :ref:`TOUTSGW `, :ref:`TOUTFGW `, :ref:`NSPOOLGW ` include this line only if NWS is not equal to zero :ref:`NFREQ ` for k=1 to :ref:`NFREQ ` :ref:`NAMEFR(k) ` :ref:`HAFREQ(k) `, :ref:`HAFF(k) `, :ref:`HAFACE(k) ` end k loop :ref:`THAS `, :ref:`THAF `, :ref:`NHAINC `, :ref:`FMV ` :ref:`NHASE `, :ref:`NHASV `, :ref:`NHAGE `, :ref:`NHAGV ` :ref:`NHSTAR `, :ref:`NHSINC ` :ref:`ITITER `, :ref:`ISLDIA `, :ref:`CONVCR `, :ref:`ITMAX ` **[For a 2DDI ADCIRC run that does not use NetCDF, the file ends here. For any ADCIRC run that uses NetCDF, the lines NCPROJ through NCDATE (described at the end of this file format) are required metadata and must be added at the end of the fort.15 file.]** **[The following information is only included for a 3D run:]** :ref:`IDEN ` :ref:`ISLIP `, :ref:`KP ` :ref:`Z0S `, :ref:`Z0B ` :ref:`ALP1 `, :ref:`ALP2 `, :ref:`ALP3 ` :ref:`IGC `, :ref:`NFEN ` for k=1 to :ref:`NFEN ` include this loop only if IGC = 0, k=1 at bottom, k= NFEN at surface :ref:`SIGMA(k) ` end k loop :ref:`IEVC `, :ref:`EVMIN `, :ref:`EVCON ` for k=1 to :ref:`NFEN ` include this loop only if IEVC = 0, k=1 at bottom, k= NFEN at surface :ref:`EVTOT(k) ` end k loop :ref:`THETA1 `, :ref:`THETA2 ` include this line only if IEVC = 50 or 51 :ref:`I3DSD `, :ref:`TO3DSDS `, :ref:`TO3DSDF `, :ref:`NSPO3DSD ` :ref:`NSTA3DD ` for k=1 to :ref:`NSTA3DD ` :ref:`X3DS(k) `, :ref:`Y3DS(k) ` end k loop :ref:`I3DSV `, :ref:`TO3DSVS `, :ref:`TO3DFVF `, :ref:`NSPO3DSV ` :ref:`NSTA3DV ` for k=1 to :ref:`NSTA3DV ` :ref:`X3DS(k) `, :ref:`Y3DS(k) ` end k loop :ref:`I3DST `, :ref:`TO3DSTS `, :ref:`TO3DSTF `, :ref:`NSPO3DST ` :ref:`NSTA3DT ` for k=1 to :ref:`NSTA3DT ` :ref:`X3DS(k) `, :ref:`Y3DS(k) ` end k loop :ref:`I3DGD `, :ref:`TO3DGDS `, :ref:`TO3DGDF `, :ref:`NSPO3DGD ` :ref:`I3DGV `, :ref:`TO3DGVS `, :ref:`TO3DGVF `, :ref:`NSPO3DGV ` :ref:`I3DGT `, :ref:`TO3DGTS `, :ref:`TO3DGTF `, :ref:`NSPO3DGT ` **[The following line will be read in if IM is 21 or 31.]** :ref:`RES_BC_FLAG `, :ref:`BCFLAG_LNM `, :ref:`BCFLAG_TEMP ` **[The following two lines will be read in if RES_BC_FLAG is negative.]** :ref:`RBCTIMEINC ` :ref:`BCSTATIM ` **[The following two lines will be read in if RES_BC_FLAG = 2.]** :ref:`RBCTIMEINC `, :ref:`SBCTIMEINC ` :ref:`BCSTATIM `, :ref:`SBCSTATIM ` **[The following two lines will be read in if RES_BC_FLAG = 3.]** :ref:`RBCTIMEINC `, :ref:`TBCTIMEINC ` :ref:`BCSTATIM `, :ref:`TBCSTATIM ` **[The following two lines will be read in if RES_BC_FLAG = 4.]** :ref:`RBCTIMEINC `, :ref:`SBCTIMEINC `, :ref:`TBCTIMEINC ` :ref:`BCSTATIM `, :ref:`SBCSTATIM `, :ref:`TBCSTATIM ` **[The following two lines will be read in if RES_BC_FLAG = 3 or 4 and BCFLAG_TEMP is not equal to 0.]** :ref:`TTBCTIMEINC `, :ref:`TTBCSTATIM ` :ref:`TTBCTIMEINC ` **[The following two lines will be read in only if IM is 21 or 31.]** :ref:`SPONGEDIST ` :ref:`EQNSTATE ` **[The following lines will be read in only if IDEN is > 0.]** :ref:`NLSD `, :ref:`NVSD ` :ref:`NLTD `, :ref:`NVTD ` :ref:`ALP4 ` **[The following line will be read in only if IDEN = 3 or 4.]** :ref:`NTF ` **[The following lines will be read in only if the NetCDF output or hotstart format is chosen]** :ref:`NCPROJ ` :ref:`NCINST ` :ref:`NCSOUR ` :ref:`NCHIST ` :ref:`NCREF ` :ref:`NCCOM ` :ref:`NCHOST ` :ref:`NCCONV ` :ref:`NCCONT ` :ref:`NCDATE ` **[The following Fortran namelist lines are optional, but if they appear, they must appear at the very end of the fort.15 file.]** :ref:`&AliDispersionControl ` :ref:`CAliDisp=logicalValue `, :ref:`Cs=floatValue `, :ref:`Ad=floatValue `, :ref:`Bd=floatValue ` / :ref:`&densityControl ` :ref:`densityRunType='stringValue' `, :ref:`densityFileName='stringValue' `, :ref:`densityTimeIterator=integerValue `, :ref:`densityForcingType='stringValue' ` / :ref:`&dynamicWaterLevelCorrectionControl ` :ref:`dynamicWaterLevelCorrectionFileName='stringValue' `, :ref:`dynamicWaterLevelCorrectionMultiplier=floatValue `, :ref:`dynamicWaterLevelCorrectionRampStart=floatValue `, :ref:`dynamicWaterLevelCorrectionRampEnd=floatValue `, :ref:`dynamicWaterLevelCorrectionRampReferenceTime='stringValue' `, :ref:`dynamicWaterLevelCorrectionSkipSnaps=integerValue ` / :ref:`&Smag_Control ` :ref:`SMAG_LOWER_LIM=floatValue `, :ref:`SMAG_UPPER_LIM=floatValue ` / :ref:`&inundationOutputControl ` :ref:`inundationOutput=logicalValue0 `, :ref:`inunThresh =floatValue ` / :ref:`&metControl ` :ref:`WindDragLimit=floatValue `, :ref:`DragLawString='stringValue' `, :ref:`rhoAir=floatValue `, :ref:`outputWindDrag=logicalValue ` / :ref:`&subdomainModeling ` :ref:`subdomainOn=logicalValue ` / :ref:`&SWANOutputControl ` :ref:`SWAN_OutputHS=logicalValue `, :ref:`SWAN_OutputDIR=logicalValue `, :ref:`SWAN_OutputTM01=logicalValue `, :ref:`SWAN_OutputTPS=logicalValue `, :ref:`SWAN_OutputWIND=logicalValue `, :ref:`SWAN_OutputTM02=logicalValue `, :ref:`SWAN_OutputTMM10=logicalValue ` / :ref:`&timeBathyControl ` :ref:`NDDT=integerValue `, :ref:`BTIMINC=floatValue `, :ref:`BCHGTIMINC=floatValue `, invertedBarometerOnElevationBoundary=logicalValue / :ref:`&TVWControl ` :ref:`use_TVW=logicalValue `, :ref:`TVW_file='stringValue' `, :ref:`nout_TVW =integerValue `, :ref:`touts_TVW =floatValue `, :ref:`toutf_TVW=floatValue `, :ref:`nspool_TVW =integerValue ` / &WarnElevControl :ref:`WarnElev=floatValue `, :ref:`ErrorElev=floatValue `, :ref:`WarnElevDump=logicalValue `, :ref:`WarnElevDumpLimit=integerValue ` / :ref:`&waveCoupling ` :ref:`WindWaveMultiplier=floatValue ` / :ref:`&wetDryControl ` :ref:`outputNodeCode=logicalValue `, :ref:`outputNOFF=logicalValue `, :ref:`noffActive=logicalValue ` / Example ------- The following is a simple example of a fort.15 file: .. code-block:: none Sample ADCIRC Run Sample Run ID 1 ! NFOVER 0 ! NABOUT 1 ! NSCREEN 0 ! IHOT 2 ! ICS 1 ! IM 1 ! NOLIBF 1 ! NOLIFA 1 ! NOLICA 1 ! NOLICAT 3 ! NWP mannings_n_at_sea_floor surface_directional_effective_roughness_length average_horizontal_eddy_viscosity_in_sea_water_wrt_depth 1 ! NCOR 1 ! NTIP 0 ! NWS 1 ! NRAMP 9.81 ! G 0.0001 ! TAU0 600.0 ! DTDP 0.0 ! STATIM 0.0 ! REFTIM 60.0 30.0 3 ! WTIMINC 5.0 ! RNDAY 43200.0 ! DRAMP 0.0 0.0 0.0 ! A00, B00, C00 0.1 ! H0