amr_module.f90.html | |
Source file: amr_module.f90 | |
Directory: /Users/rjl/git/clawpack/geoclaw/examples/tsunami/chile2010 | |
Converted: Wed Dec 28 2016 at 23:13:56 using clawcode2html | |
This documentation file will not reflect any later changes in the source file. |
module amr_module implicit none save ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! ::::: data structure info. ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: integer, parameter :: rsize = 5 integer, parameter :: nsize = 19 ! ::::::: integer part of node descriptor integer, parameter :: levelptr = 1 integer, parameter :: tempptr = 2 integer, parameter :: errptr = 3 integer, parameter :: nestlevel = 4 integer, parameter :: cfluxptr = 5 integer, parameter :: ffluxptr = 6 integer, parameter :: store1 = 7 integer, parameter :: store2 = 8 integer, parameter :: ndilo = 9 integer, parameter :: ndihi = 10 integer, parameter :: ndjlo = 11 integer, parameter :: ndjhi = 12 integer, parameter :: storeaux = 13 integer, parameter :: storeflags = 14 integer, parameter :: numflags = 15 integer, parameter :: domflags_base = 16 integer, parameter :: domflags2 = 17 integer, parameter :: bndListSt = 18 integer, parameter :: bndListNum = 19 ! ::::::: real part of node descriptor integer, parameter :: cornxlo = 1 integer, parameter :: cornylo = 2 integer, parameter :: cornxhi = 3 integer, parameter :: cornyhi = 4 integer, parameter :: timemult = 5 ! ::::::: for linking nodes integer, parameter :: nextfree = 2 integer, parameter :: null = 0 integer, parameter :: nil = 0 integer, parameter :: gridNbor = 1 !use 1st col, 2nd col is nextfree - the link ! ::::::: for flagging points real(kind=8), parameter :: goodpt = 0.0 real(kind=8), parameter :: badpt = 2.0 real(kind=8), parameter :: badpro = 3.0 real(kind=8), parameter :: NEEDS_TO_BE_SET = 10.e33 real(kind=8), parameter :: rinfinity = 10.e32 integer, parameter :: iinfinity = 999999999 integer, parameter :: horizontal = 1 integer, parameter :: vertical = 2 integer, parameter :: maxgr = 15000 integer, parameter :: maxlv = 10 integer, parameter :: maxcl = 5000 ! The max1d parameter should be changed if using OpenMP grid based ! looping, usually set to max1d = 60 integer, parameter :: max1d = 600 integer, parameter :: maxvar = 10 integer, parameter :: maxaux = 20 integer, parameter :: maxwave = 10 ! note use of sentinel in listStart integer :: listOfGrids(maxgr),listStart(0:maxlv+1) integer,parameter :: bndListSize = 8*maxgr integer :: bndList(bndListSize,2) ! guess size, average # nbors 4? manage as linked list real(kind=8) hxposs(maxlv), hyposs(maxlv),possk(maxlv),rnode(rsize, maxgr) real(kind=8) tol, tolsp integer ibuff, mstart, ndfree, ndfree_bnd, lfine, node(nsize, maxgr), & icheck(maxlv),lstart(maxlv),newstl(maxlv), & listsp(maxlv),intratx(maxlv),intraty(maxlv), & kratio(maxlv), iregsz(maxlv),jregsz(maxlv), & iregst(maxlv),jregst(maxlv), & iregend(maxlv),jregend(maxlv), & numgrids(maxlv),numcells(maxlv), & iorder,mxnest,kcheck ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! :::: for alloc array/memory ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! Static memory implementation ! parameter (memsize = 10000000) ! common /calloc/ alloc(memsize) ! Dynamic memory: !real(kind=8), allocatable, target, dimension(:) :: storage !real(kind=8), pointer, dimension(:) :: alloc ! old way, changed mjb Sept. 2014 real(kind=8), allocatable, dimension(:) :: alloc ! new way, use allocatable, not pointer integer memsize ! ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::\ ! ::::: for space management of alloc array ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: integer, parameter :: lfdim=5000 integer lfree(lfdim,2),lenf ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! ::::: domain description variables ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: logical xperdom, yperdom, spheredom real(kind=8) :: xupper, yupper, xlower, ylower integer :: nghost, mthbc(4) ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! ::::: collect stats ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: real(kind=8) rvoll(maxlv),evol,rvol,avenumgrids(maxlv) integer :: iregridcount(maxlv), tvoll(maxlv) integer :: timeRegridding, timeUpdating, timeValout integer :: timeFlglvl,timeGrdfit2,timeGrdfit3,timeGrdfitAll integer :: timeFilval,timeBound,timeStepgrid,timeFilvalTot integer :: timeFlagger, timeBufnst,timeTick real(kind=8) tvollCPU(maxlv), timeTickCPU real(kind=8) timeBoundCPU,timeStepgridCPU,timeRegriddingCPU real(kind=8) timeValoutCPU integer lentot,lenmax,lendim ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! ::::: method parameters ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: character(len=10), allocatable :: auxtype(:) integer method(7), mwaves, mcapa, dimensional_split integer, allocatable :: mthlim(:) real(kind=8) cfl,cflmax,cflv1,cfl_level logical :: use_fwaves logical :: flag_richardson,flag_gradient integer :: verbosity_regrid ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ! ::::: Parameters and variables related to I/O and checkpointing ! :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: logical printout,matlabout,ncarout ! variables for conservation checking: real(kind=8) tmass0 ! variables for specifying output format integer :: output_style, nstop, nout, iout real(kind=8), allocatable :: tout(:) real(kind=8) :: t0, tfinal real(kind=8) :: tstart_thisrun ! /= t0 in case of restart integer :: nq_components, naux_components, output_format integer, allocatable :: output_q_components(:) integer, allocatable :: output_aux_components(:) logical :: output_aux_onlyonce ! checkpointing: integer :: checkpt_style, nchkpt, checkpt_interval real(kind=8), allocatable :: tchk(:) integer :: matlabu ! USE UNITS NUMBERS < 89. ! 89 and + numthreads taken by gauge output integer, parameter :: parmunit = 12 integer, parameter :: chkunit = 10 integer, parameter :: inunit = 5 integer, parameter :: outunit = 66 integer, parameter :: pltunit1 = 3 integer, parameter :: rstunit = 9 integer, parameter :: dbugunit = 11 integer, parameter :: matunit = 70 ! :::: Debugging flags (verbose output) logical & dprint, & ! domain flags output eprint, & ! error estimation output edebug, & ! even more error estimation output gprint, & ! verbose grid generation (clustering,colating...) nprint, & ! nestck reporting pprint, & ! projec tagged pts. rprint, & ! regridding - summary of new grids sprint, & ! space (memory) output tprint, & ! tick (time stepping) reporting uprint ! updating/upbnding reporting ! Restart file name: character(len=200) :: rstfile logical :: check_a end module amr_module