!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
!%
!% Description:
!% + Run the Monte Carlo sampler of the ParaMonte library given the input log-target density function `getLogFunc()`.
!% Output:
!% + The simulation output files.
!% Author:
!% + Computational Data Science Lab, Monday 9:03 AM, May 16 2016, ICES, UT Austin
!% Visit:
!% + https://www.cdslab.org/paramonte
!%
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
!
! USAGE:
!
! -- Comments must begin with an exclamation mark (!).
! -- Comments can appear anywhere on an empty line or, after a value assignment.
! -- All variable assignments are optional and can be commented out. In such cases, appropriate default values will be assigned.
! -- Use ParaDRAM namelist (group) name to group a set of ParaDRAM simulation specification variables.
! -- The order of the input variables in the namelist groups is irrelevant and unimportant.
! -- Variables can be defined multiple times, but only the last definition will be considered as input.
! -- All variable names are case insensitive. However, for clarity, this software follows the camelCase code-writing practice.
! -- String values must be enclosed with either single or double quotation marks.
! -- Logical values are case-insensitive and can be either .true., true, or t for a TRUE value, and .false., false, or f for a FALSE value.
! -- All vectors and arrays in the input file begin with index 1. This is following the convention of
! the majority of science-oriented programming languages: Fortran, Julia, Mathematica, MATLAB, and R.
!
! For comprehensive guidelines on the input file organization and rules, visit:
!
! https://www.cdslab.org/paramonte/notes/usage/paradram/input/
!
! To see detailed descriptions of each of variables, visit:
!
! https://www.cdslab.org/paramonte/notes/usage/paradram/specifications/
!
&ParaDRAM
! Base specifications
description = "
This\n
is a\n
multi-line\n
description." ! strings must be enclosed with "" or '' and can be continued on multiple lines.
! No comments within strings are allowed.
!outputColumnWidth = 25 ! this is an example of a variable that is commented out and
! therefore, its value won't be read by the sampler routine.
! To pass it to the routine, simply remove the ! mark at
! the beginning of the line.
outputRealPrecision = 17
!outputDelimiter = ","
outputFileName = "./out/" ! the last forward-slash character indicates that this
! is the folder where the output files will have to stored.
! However, since no output filename prefix has been specified,
! the output filenames will be assigned a randomly-generated prefix.
!sampleSize = 111
randomSeed = 2136275,
chainFileFormat = "compact"
variableNameList = "variable1" ! Notice the missing fourth variable name here.
, "variable2" ! Any missing variable name will be automatically assigned an appropriate name.
, "variable3"
domainLowerLimitVec = 4*-1.e300 ! repetition pattern rules apply again here. 4 dimensions => 4-element vector of values.
domainUpperLimitVec = 4*1.e300 ! repetition pattern rules apply again here. 4 dimensions => 4-element vector of values.
parallelizationModel = "single chain" ! "singleChain" would also work. Similarly, "multichain", "multi chain", or "multiChain".
!targetAcceptanceRate = 0.23e0
progressReportPeriod = 1000
maxNumDomainCheckToWarn = 100
maxNumDomainCheckToStop = 1000
restartFileFormat = "binary"
overwriteRequested = true ! FALSE, false, .false., .f., and f would be also all valid logical values representing False
silentModeRequested = false ! FALSE, false, .false., .f., and f would be also all valid logical values representing False
!mpiFinalizeRequested = true ! TRUE, true, .true., .t., and t would be also all valid logical values representing True
! MCMC specifications
chainSize = 30000
startPointVec = 4*1.e0 ! four values of 1.e0 are specified here by the repetition pattern symbol *
!sampleRefinementCount = 10
sampleRefinementMethod = "BatchMeans"
randomStartPointDomainLowerLimitVec = 4*-100.e0 ! repetition pattern rules apply again here. 4 dimensions => 4-element vector of values.
randomStartPointDomainUpperLimitVec = 4*100.0 ! repetition pattern rules apply again here. 4 dimensions => 4-element vector of values.
randomStartPointRequested = false
! DRAM specifications
scaleFactor = "2*0.5*Gelman" ! The asterisk here means multiplication since it is enclosed within quotation marks.
proposalModel = "normal" ! or "uniform" as you wish.
adaptiveUpdateCount = 10000000
adaptiveUpdatePeriod = 35
greedyAdaptationCount = 0
!delayedRejectionCount = 5
!delayedRejectionScaleFactorVec = 5*1.
!burninAdaptationMeasure = 1.
!proposalStartStdVec = 4*1.0 ! repetition pattern rules apply again here. 4 dimensions => 4-element vector of values.
!proposalStartCorMat = 1,0,0,0, ! 2-dimensional correlation-matrix definition, although it is commented out and won't be read.
! 0,1,0,0,
! 0,0,1,0,
! 0,0,0,1,
!proposalStartCovMat = 100,0,0,0,
! 0,100,0,0,
! 0,0,100,0,
! 0,0,0,100,
/