-
Notifications
You must be signed in to change notification settings - Fork 20
/
PARAM.XML
executable file
·738 lines (609 loc) · 30.2 KB
/
PARAM.XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
<!-- The syntax is described by share/Scripts/CheckParam.pl and the manual -->
<commandList name="RAM_SCB: IM Component">
List of IM commands used in the PARAM.in file
<commandgroup name="BASE">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!Base group!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="STARTTIME">
<parameter name="iYear" type="integer" min="0" default="0"/>
<parameter name="iMonth" type="integer" min="0" default="0"/>
<parameter name="iDay" type="integer" min="0" default="0"/>
<parameter name="iHour" type="integer" min="0" default="0"/>
<parameter name="iMinute" type="integer" min="0" default="0"/>
<parameter name="iSecond" type="integer" min="0" default="0"/>
<parameter name="fracSecond" type="real" min="0" default="0"/>
#STARTTIME
2006 iYear
7 iMonth
19 iDay
0 iHour
0 iMinute
0 iSecond
0.0 fracSecond
The STARTTIME command sets the integer year, month, day, hour, minute and second at which the simulation begins. This command is only used in standalone mode and only for the first session.
</command>
<command name="STOPTIME">
<parameter name="iYear" type="integer" min="0" default="0"/>
<parameter name="iMonth" type="integer" min="0" default="0"/>
<parameter name="iDay" type="integer" min="0" default="0"/>
<parameter name="iHour" type="integer" min="0" default="0"/>
<parameter name="iMinute" type="integer" min="0" default="0"/>
<parameter name="iSecond" type="integer" min="0" default="0"/>
<parameter name="fracSecond" type="real" min="0" default="0"/>
#STOPTIME
2006 iYear
7 iMonth
19 iDay
6 iHour
0 iMinute
0 iSecond
0.0 fracSecond
The STOPTIME command sets the integer year, month, day, hour, minute and second at which the simulation stops. This command is only used in standalone mode.
</command>
<command name="EVENT">
<parameter name="Event" type="string" length="6"/>
#EVENT
110105 Event
Sets the short name description of the run
</command>
<command name="VERBOSE">
#VERBOSE
If present, RAM-SCB will output additional information about performance and progress during the simulation
</command>
<command name="RESTART">
#RESTART
If present, RAM-SCB will restart a simulation using the information stored in the restart files that the user must place in the {\tt restartIN} folder in the run directory. Start time and simulation conditions are read from the restart files. This command can not be used with {\tt #STARTTIME}.
</command>
<command name="DESCRIPTION" multiple="T">
<parameter name="StringDescription" type="string" length="100"/>
#DESCRIPTION
Simulation of the Sep. 1st, 2005 storm.
The StringDescription string can be used to describe the simulation for which the parameter file is written. The #DESCRIPTION command and the StringDescription string are saved into the restart file, which helps in identifying the restart files. It is often added to NetCDF files to help describe the output.
</command>
</commandgroup>
<commandgroup name="RAM">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!RAM group!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="MAXTIMESTEP">
<parameter name="MaxHalfStep" type="float" default="100.0"/>
#MAXTIMESTEP
100.0 MaxHalfStep
Set the maximum half time step that can be taken by RAM. Even if the CFL limit allows for a larger time step, the code will not surpass the limit set here. Note that this is the \emph{half} time step taken in the time-splitting scheme; a full timestep is two times the half time step.
</command>
<command name="MINTIMESTEP">
<parameter name="MinHalfStep" type="float" default="1.0"/>
#MINTIMESTEP
1.0 MinHalfStep
Set the minimum half time step that can be taken by RAM. Even if the CFL limit specifies a smaller time step, the code will not surpass the limit set here. Note that this is the \emph{half} time step taken in the time-splitting scheme; a full timestep is two times the half time step.
</command>
<command name="VARIABLEDT">
<parameter name="DoVariableDt" type="logical" default="T"/>
#VARIABLEDT
T DoVariableDt
Select between a variable timestep that is governed by the CFL number or a semi-static timestep that only decreases during periods of high geomagnetic activity as determined by the Kp index. The former will allow the timestep to grow as large as the CFL number will permit, while the latter will use a timestep of 5 seconds during low (less than 5) Kp or 1 second during higher Kp.
</command>
<command name="SPECIES">
<parameter name="nS" type="integer" default="4"/>
<parameter name="NameVar" type="string" default="_H _O He _e"/>
<parameter name="FixedComposition" type="logical" default="F"/>
<for from="1" to="$nS">
<parameter name="Composition" type="float"/>
</for>
#SPECIES
4 nS
_H _O He _e NameVar
F FixedComposition
Defines the species to run in RAM. See the RAMSpecies_README for more information.
</command>
<command name="NITROGEN_PERCENT">
<parameter name="NitrogenPercent" type="float" default="0"/>
#NITROGEN_PERCENT
0 NitrogenPercent
If using nitrogen in the species this command will convert a percent of the oxygen in the simulation into nitrogen.
</command>
<command name="USEWPI">
<parameter name="DoUseWPI" type="logical" default="F"/>
<parameter name="DoUseBASdiff" type="logical" default="F"/>
<parameter name="DoUseKpdiff" type="logical" default="F"/>
<parameter name="DoUseEMIC" type="logical" default="F"/>
<parameter name="DoSaveLwgr" type="logical" default="F"/>
#USEWPI
F DoUseWPI
F DoUseBASdiff
F DoUseKpdiff
F DoUseEMIC
F DoSaveLwgr
Flag to turn on pitch angle diffusion. The default setting for the Kp-based version uses Kp=0 coefficients. Turning this flag on interpolates Kp-dependent diffusion coefficents for Kp in the range (0-4). Different options are available if selecting DoUseBASDiff. EMIC wave pitch angle diffusion is used for ions wave-particle interaction. DoSaveLwgr is used to save hourly output for linear wave growth calculations.
</command>
<command name="USEFLC">
<parameter name="DoUseFLC" type="logical" default="F"/>
<parameter name="DoWriteFLCDiffCoeff" type="logical" default="F"/>
#USEFLC
F DoUseFLC
F DoWriteFLCDiffCoeff
Flag to turn on the field line curvature scattering of ions and write out the pitch angle diffusion coefficinets. By default no FLC is used.
</command>
<command name="COULOMB">
<parameter name="DoUseCoulomb" type="logical" default="F"/>
#COULOMB
F DoUseCoulomb
Flag to turn on Coulomb interactions. By default no Coulomb interactions are used.
</command>
<command name="RAMLIMITER">
<parameter name="BetaLim" type="float" min="1" max="2"
default="1.2"/>
#RAMLIMITER
1.5 BetaLim
Set the beta factor for the MC limiter implemented in RAM. A value of 1 is equivalent to using the Min-Mod limiter; a value of 2 is equivalent to the superbee limiter. 1.5 is the default; many codes that implement this limiter use a value of 1.5.
</command>
<command name="RAMGRID">
<parameter name="nR" type="integer" default="20"/>
<parameter name="nT" type="integer" default="25"/>
<parameter name="nE" type="integer" default="35"/>
<parameter name="nPa" type="integer" default="72"/>
#RAMGRID
20 nR
25 nT
35 nE
72 nPa
\begin{itemize}
\item nR: Number of radial grid points used in RAM
\item nT: Number of toroidal grid points used in RAM
\item nE: Number of energy bins used in RAM
\item nPa: Number of pitch angle bins used in RAM
\end{itemize}
</command>
</commandgroup>
<commandgroup name="SCB">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!SCB group!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="TIE_SCB_TO_RAM">
#TIE_SCB_TO_RAM
If this is present then the SCBTimeStep will be read as number of RAM iterations to do, not seconds
</command>
<command name="PRESS_MODE">
<parameter name="PressMode" type="string" length="3">
<option name="SKD" default="T"/>
<option name="ROE"/>
<option name="EXT"/>
<option name="FLT"/>
<option name="BAT"/>
</parameter>
#PRESS_MODE
SKD PressMode
Method used to extrapolate RAM pressure to all of SCB grid in events where the SCB grid extends beyond the RAM domain.
\noindent
\emph{\textbf{Current options for SCB pressure extrapolation:}}
\begin{enumerate}
\item \textbf{SKD}: Uses Spence-Kivelson empirical formula
\item \textbf{ROE}: Uses Roederer empirical formula
\item \textbf{EXT}: Uses linear extrapolation
\item \textbf{FLT}: Uses a flat extension
\item \textbf{BAT}: Uses BATS-R-US equatorial pressure
\end{enumerate}
</command>
<command name="SCB_FIELD">
<parameter name="ConstZ" type="float" default="0.0"/>
<parameter name="ConstTheta" type="float" default="0.2"/>
#SCB_FIELD
0.0 ConstZ
0.2 ConstTheta
\begin{itemize}
\item ConstZ: Groups points along the midnight axis using the equation [zetaVal+constZ*SIN(zetaVal)]
\item ConstTheta: Groups points at the equator using the equation [thetaVal + constTheta*sin(2.*thetaVal)]
\end{itemize}
</command>
<command name="SCB_CONVERGENCE">
<parameter name="ConvergenceDistance" type="float" default="0.9" min="0.0" max="1.0"/>
#SCB_CONVERGENCE
0.9 ConvergenceDistance
Minimum accuracy that needs to be reached regardless of other factors (between 0 and 1)
</command>
<command name="SCBSMOOTHING">
<parameter name="PressureSmoothing" type="integer" default="1"/>
<parameter name="SavitzyGolayIterations" type="integer" default="11"/>
#SCBSMOOTHING
1 PressureSmoothing
11 SavitzyGolayIterations
Method used to smooth pressure for SCB from RAM
\noindent
\emph{\textbf{Current options for SCB pressure smoothing:}}
\begin{enumerate}
\item Savitzy-Golay Filter
\item B-Spline smoothing
\item Gaussian Filter
\item 1+3
\end{enumerate}
</command>
<command name="SCB_GHOSTCELLS">
<parameter name="psiChange" type="integer" default="0"/>
<parameter name="theChange" type="integer" default="4"/>
#SCB_GHOSTCELLS
0 psiChange
4 theChange
The number of ghost cells to add to the SCB force balancing SOR
</command>
<command name="SCBFLAGS">
<parameter name="Isotropic" type="logical" default="F"/>
<parameter name="ReduceAnisotropy" type="logical" default="F"/>
<parameter name="BetaExtrapolation" type="logical" default="T"/>
<parameter name="AzimuthalOffset" type="logical" default="F"/>
<parameter name="EmptyLossCone" type="logical" default="F"/>
<parameter name="AdaptiveMesh" type="logical" default="T"/>
#SCBFLAGS
F Isotropic
F ReduceAnisotropy
T BetaExtrapolation
F AzimuthalOffset
F EmptyLossCone
T AdaptiveMesh
\begin{itemize}
\item Isotropic: Whether to use isotropic pressure mappings in SCB (does not effect RAM)
\item ReduceAnisotropy: Whether to change the anisotropy to a marginally mirror-stable
\item BetaExtrapolation: Whether to extrapolate Beta Euler potential values to the outside boundary or use the previous point (Currently unused)
\item AzimuthalOffset: Whether to set equidistance at most problematic time (if T) or keep it at midnight (if F)
\item EmptyLossCone: Whether to use a filled loss cone (if F) or a more realistic empty loss cone using M. Liemohn's 2004
\item AdaptiveMesh: Whether to use Mesh refinement in magnetic flux, so that one has equidistant magnetic flux surfaces
\end{itemize}
</command>
<command name="SCBDETAILS">
<parameter name="SORDetail" type="logical" default="F"/>
<parameter name="EnergyDetail" type="logical" default="T"/>
<parameter name="ForceBalanceDetail" type="logical" default="F"/>
<parameter name="PressureDetail" type="logical" default="F"/>
#SCBDETAILS
F SORDetail
T EnergyDetail
F ForceBalanceDetail
F PressureDetail
\begin{itemize}
\item SORDetail: Whether to compute extra Sucessive Over Relaxation information
\item EnergyDetail: Whether to compute DPS Dst and other energy information
\item ForceBalanceDetail: Whether to compute global force balance before and after SCB runs, this will cause additional output
\item PressureDetail: Whether to compute the full 3D pressure profile before an SCB run, this will cause additional output
\end{itemize}
</command>
<command name="SCBGRID">
<parameter name="nTheta" type="integer" default="71"/>
<parameter name="nPsi" type="integer" default="45"/>
<parameter name="nZeta" type="integer" default="73"/>
#SCBGRID
71 nTheta
45 nPsi
73 nZeta
\begin{itemize}
\item nTheta: Number of theta (polar) grid points used in SCB
\item nPsi: Number of psi (radial) surfaces used in SCB
\item nZeta: Number of zeta (azimuthal) surfaces used in SCB
\end{itemize}
</command>
</commandgroup>
<commandgroup name="SCE">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!SCE group!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="IONOSPHERE">
<parameter name="iConductanceModel" type="integer" default="7"/>
<parameter name="StarLightPedConductance" type="float" default="2.5"/>
<parameter name="DoUseFullSpec" type="logical" default="F"/>
<parameter name="DoSaveGLOWConductivity" type="logical" default="F"/>
#IONOSPHERE
7 iConductanceModel
2.5 StarLightPedConductance
F DoUseFullSpec
F DoSaveGLOWConductivity
\begin{itemize}
\item iConductanceModel: 7 uses Robinson's statistical conductance model; 9 uses S. Solomon's GLOW model. If "9" is used, the last two commands are needed. When the GLOW model is used, parallelizing is recommended.
\item StarLightPedConductance: the background conductance due to star light
\item DoUseFullSpec: only needed when iConductanceModel=9; It uses full precipitating spectrum as input to the GLOW
\item DoSaveGLOWConductivity: only needed when iConductanceModel=9; It saves height-dependent conductivity from GLOW
</command>
<command name="BOUNDARY">
<parameter name="LatBoundary" type="float" default="50"/>
#BOUNDARY
50 LatBoundary
Specify the low latitudinal boundary for the ionospheric potential solver. Default is set at 50 degree magnetic latitude.
</command>
<command name="SOLVER">
<parameter name="NameSolver" type="string" default="GMRES"/>
#SOLVER
GMRES NameSolver (gmres or bicgstab)
Specify the scheme for the ionospheric potential solver.
</command>
<command name="KRYLOV">
<parameter name="UsePreconditioner" type="logical" default="T"/>
<parameter name="UseInitialGuess" type="logical" default="T"/>
<parameter name="Tolerance" type="real" min="0" default="0.01"/>
<parameter name="MaxIteration" type="integer" min="1" default="100"/>
#KRYLOV
T UsePreconditioner
T UseInitialGuess
0.01 Tolerance
100 MaxIteration
This command controls the parameters for the Krylov solver used to
solve the Poisson type equation for the electric potential.
If UsePreconditioner is true the solver uses a preconditioner.
If UseInitialGuess is true, the previous solution is used as an
initial guess. The Tolerance parameter sets the second norm of
the final (preconditioned) residual. The MaxIteration parameter sets the
maximum number of iterations before the linear solver gives up.
In most cases the default values should work fine.
The default values are shown above.
</command>
<commandgroup name="COMPONENTS">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!Components group!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="COMPONENT_TIMESTEPS">
<parameter name="SCBTimeStep" type="float" default="300.0"/>
<parameter name="BCTimeStep" type="float" default="300.0"/>
<parameter name="EFTimeStep" type="float" default="300.0"/>
#COMPONENT_TIMESTEPS
300.0 SCBTimeStep
300.0 BCTimeStep
300.0 EFTimeStep
\begin{itemize}
\item SCBTimeStep: Amount of time (in seconds) between calls to SCB. If set to 1.0 it will call SCB on every RAM time step
\item BCTimeStep: Amount of time (in seconds) between reading boundary flux files (or from SWMF). If set to 1.0 will update on every RAM time step
\item EFTimeStep: Amount of time (in seconds) between updating electric fields. If set to 1.0 it will update every RAM time step
\end{itemize}
</command>
<command name="PLASMAPSHERE">
<parameter name="DoUsePlasmasphere" type="logical" default="F"/>
<parameter name="PlasmasphereModel" type="string">
<option name="Carpenter" default="T"/>
<option name="Transport"/>
</parameter>
<parameter name="TauCalculation" type="string">
<option name="Fixed"/>
<option name="Analytic" default="T">
<option name="Rasmussen"/>
</parameter>
#PLASMAPSHERE
F DoUsePlasmasphere
Carpenter PlasmasphereModel
Analytic TauCalculation
Determines whether to use a plasmasphere and which plasmasphere model to use if desired
</command>
<command name="FLUX_CAP">
<parameter name="ElectronFluxCap" type="float" default="1e10"/>
<parameter name="ProtonFluxCap" type="float" default="1e8"/>
#FLUX_CAP
1e10 ElectronFluxCap
1e8 ProtonFluxCap
Sets a flux cap at the boundary for both electrons and protons
</command>
<command name="OUTERBOUNDARY">
<parameter name="NameBoundPlasma" type="string" input="select">
<option name="LANL" default="T"/>
<option name="SWMF"/>
</parameter>
<parameter name="NameBoundMag" type="string" input="select">
<option name="DIPL" default="T"/>
<option name="DIPS"/>
<option name="T89D"/>
<option name="T89I"/>
<option name="T89L"/>
<option name="T96D"/>
<option name="T96I"/>
<option name="T96L"/>
<option name="T02D"/>
<option name="T02I"/>
<option name="T02L"/>
<option name="T04D"/>
<option name="T04I"/>
<option name="T04L"/>
<option name="SWMF"/>
</parameter>
<parameter name="NameDistribution" type="string" input="select">
<option name="MAXW" default="T"/>
<option name="KAPA"/>
</parameter>
#OUTERBOUNDARY
LANL NameBoundPlasma
DIPL NameBoundMag
MAXW NameDistribution
Set the outer boundary conditions for RAM-SCB. Based on these settings, different files are expected in the respective input directories to suppy magnetic field and energy flux at the outer boundary of the codes.
\noindent
\emph{\textbf{Current options for plasma boundary conditions:}}
\begin{enumerate}
\item \textbf{LANL}: Use fluxes calculated from LANL Geosynchronous measurements. Composition is determined from the Young et al. empirical relationship based on Kp and F10.7.
\item \textbf{SWMF}: Use fluxes calculated from the Space Weather Modeling Framework. If in coupled mode, values are calculated on-the-fly and no input files are required.
\end{enumerate}
\noindent
\emph{\textbf{Current options for magnetic field boundary conditions:}}
\begin{enumerate}
\item \textbf{DIPS}: Use a simple dipole to constrain the SCB field. SCB is enabled for this setting.
\item \textbf{DIPL}: Use a simple dipole throughout; no SCB calculation.
\item \textbf{SWMF}: Use the magnetic field from the Space Weather Modeling Framework. If RAM-SCB is in coupled mode, these values are calculated and obtained on-the-fly rather than read from input files.
\item \textbf{T89D}: Use the Tsyganenko 89c empirical model, with a centered dipole internal field (indicated with the ``D'' suffix), as the outer boundary for SCB. As this field depends only on Kp, input files are provided in the RAM-SCB distribution.
\item \textbf{T96D}: Use the Tsyganenko 1996 empirical model, with a centered dipole internal field, as the outer boundary for SCB.
\item \textbf{T02D}: Use the Tsyganenko 2002 empirical model, with a centered dipole internal field, as the outer boundary for SCB.
\item \textbf{T04D}: Use the Tsyganenko and Sitnov 2004 empirical model, with a centered dipole internal field, as the outer boundary for SCB.
\item \textbf{T89I}: Use the Tsyganenko 1989 empirical model, with the IGRF as internal field, as the outer boundary for SCB.
\item \textbf{T96I}: Use the Tsyganenko 1996 empirical model, with the IGRF as internal field, as the outer boundary for SCB.
\item \textbf{T02I}: Use the Tsyganenko 2002 empirical model, with the IGRF as internal field, as the outer boundary for SCB.
\item \textbf{T04I}: Use the Tsyganenko and Sitnov 2004 empirical model, with the IGRF as internal field, as the outer boundary for SCB.
\item \textbf{T89L}: Use the Tsyganenko 1989 empirical model with a centered dipole internal field to represent the full magnetic field. SCB is disabled for this setting.
\item \textbf{T96L}: Use the Tsyganenko 1996 empirical model with a centered dipole internal field to represent the full magnetic field. SCB is disabled for this setting.
\item \textbf{T02L}: Use the Tsyganenko 2002 empirical model with a centered dipole internal field to represent the full magnetic field. SCB is disabled for this setting.
\item \textbf{T04L}: Use the Tsyganenko and Sitnov 2004 empirical model with a centered dipole internal field to represent the full magnetic field. SCB is disabled for this setting.
\end{enumerate}
\noindent
\emph{\textbf{Current options for plasma distribution shape:}}
\begin{enumerate}
\item \textbf{MAXW}: Assume a Maxwellian distribution.
\item \textbf{KAPA}: Assume a Kappa distribution.
\end{enumerate}
</command>
<command name="EFIELD">
<parameter name="NameEfield" type="string" length="4"/>
<option name="VOLS" default="T"/>
<option name="WESC"/>
<option name="W5SC"/>
<option name="IESC"/>
<parameter name="UseEfInd" type="logical" default="F"/>
#EFIELD
IESC NameEfield
F UseEfInd
Set the source for the convective electric field in RAM-SCB. The choice made will set the type of input file required at runtime.
\emph{\textbf{Current options for the electric field:}}
\begin{enumerate}
\item \textbf{IESC}: SWMF IE-component electric field mapped to the equatorial plane via RAM-SCB field lines.
\item \textbf{VOLS}: $K_{P}$-based Volland-Stern empirical electric field (internal VS calculation).
\item \textbf{WESC}: Weimer 2001 empirical electric field mapped to the equatorial plane via RAM-SCB field lines (internal W01 calculation).
\item \textbf{W5SC}: Weimer 2005 empirical electric field mapped to the equatorial plane via RAM-SCB field lines (internal W05 calculation).
\item \textbf{RSCE}: self-consistently calculated electric field mapped to the equatorial plane via RAM-SCB field lines. If this option is chosen, the following commands are needed: IONOSPHERE, BOUNDARY, SOLVER, KRYLOV. The description of these commands are provided below.
\end{enumerate}
The parameter UseEfInd turns the use of induced electric field on or off. Default is no induced electric field.
The \textbf{VOLS} and \textbf{WESC} are \textit{internal} calculations and do not require these additional files, but carry the requirements of their respective underlying models. The Volland-Stern model requires the $K_{P}$ index, which is provided for historical simulations. The Weimer 2001 and 2005 empirical models require upstream solar wind conditions, which can be obtained from the OMNI database. This data must be placed into the run directory in a file named \textit{omni.txt}.
</command>
</commandgroup>
<commandgroup name="INPUT">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!Input group!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="OMNIFILE">
<parameter name="NameOmniFile" type="string" length="200" default="omni.txt"/>
#OMNIFILE
omni.txt NameOmniFile
The WESC and W5SC (Weimer models traced along SCB field lines) electric field selections calculate Weimer's empirical electric field on-the-fly. To do this, solar wind inputs are required from the OMNI database. The ASCII file that contains these inputs should either be called "omni.txt" and be located in the run directory (default behavior) or this command should be used to point the code in the correct location.
</command>
<command name="INDICES_FILE">
<parameter name="NameIndicesFile" type="string" default="RamIndices.txt"/>
#INDICES_FILE
RamIndices.txt NameIndicesFile
Name of the KP and F10.7 indices file needed for RAM (included in default installation)
</command>
<command name="BOUNDARY_FILE_PATH">
<parameter name="BoundaryPath" type="string" default="IM/input_ram/"/>
#BOUNDARY_FILE_PATH
IM/input_ram/ BoundaryPath
Location where the flux boundary files can be found (needed by RAM)
</command>
<command name="QINDENTON_FILE_PATH">
<parameter name="QinDentonPath" type="string" default="IM/input_scb/"/>
#QINDENTON_FILE_PATH
IM/input_scb/ QinDentonPath
Location where the QinDenton files can be found (Used for the T##X magnetic field models)
</command>
<command name="INITIALIZATION_FILE_PATH">
<parameter name="InitializationPath" type="string" default="IM/input_ram/"/>
#INITIALIZATION_FILE_PATH
IM/input_ram/ InitializationPath
Location where the RAM Initialization.nc file can be found (included in default installation)
</command>
<command name="TSO7_DIRECTORY">
<parameter name="TS07Directory" type="string" default="IM/input_scb/"/>
#TS07_DIRECTORY
IM/input_scb/ TS07Directory
If using the TS07 magnetic field model, the code will look for the TS07 inputs in this directory
</command>
</commandgroup>
<commandgroup name="OUTPUT">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!Output group!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="WRITE_BOUNDARY"/>
#WRITE_BOUNDARY
If present, the RAM boundary flux will be written to file each time it is updated
</command>
<command name="WRITE_POTENTIAL"/>
#WRITE_POTENTIAL
If present, the RAM electric potential will be written to file each time it is updated
</command>
<command name="SAVERESTART">
<parameter name="DtSaveRestart" type="float" default="3600.0"/>
<parameter name="DoSaveFinalRestart" type="logical" default="T"/>
#SAVERESTART
3600.0 DtSaveRestart
T DoSaveFinalRestart
Configure when restart files are saved. The first parameter sets the frequency, in seconds, that restart files are saved during a simulation. The second parameter toggles saving restarts at the successful completion of a simulation. Defaults are shown.
</command>
<command name="TIMEDRESTART">
<parameter name="TimedRestartFiles" type="logical" default="F"/>
#TIMEDRESTART
F TimedRestartFiles
If true the restart files will be appended with the simulation date and time.
</command>
<command name="LOGFILE">
<parameter name="DtWrite" type="float" default="60.0"/>
#LOGFILE
60.0 DtWrite
Specify the write frequency of the RAM-SCB log file. Default value is shown. Note that frequent writes for any output file may limit the maximum timestep taken by RAM-SCB.
</command>
<command name="SAVEFLUX">
<parameter name="DoWriteFlux" type="float" default="3600.0"/>
#SAVEFLUX
3600 DoSaveFlux
Specify the write frequency of equatorial flux values for all pitch angles
and energies to NetCDF file. These files are powerful research tools but
large and may be undesirable for long simulations.
</command>
<command name="SATELLITE">
<parameter name="DtOutput" type="float" min="10.0" default="60.0"/>
<parameter name="nSatellite" type="integer" min="0" default="0"/>
<for from="1" to="$nSatellite">
<parameter name="NameTrajectoryFile" type="string" length="100"/>
<rule expr="-f $NameTrajectoryFile">
Trajectory file $NameTrajectoryFile must exist
</rule>
</for>
<parameter name="DoUseVAPini" type="logical" default="F"/>
#SATELLITE
60.0 DtOutput
2 nSatellite
satellite1.dat NameTrajectoryFile
satellite2.dat NameTrajectoryFile
F DoUseVAPini
The solution of RAM-SCB can be extracted along a satellite's path as the simulation progresses by using the #SATELLITE command. Simply set the number of virtual satellites to be included in the simulation, the time frequency to write the output in seconds (minimum/default is 10), and the location of each corresponding Trajectory File. For each Trajectory File given, RAM-SCB will produce a NetCDF file containing the solution along the satellite's trajectory at a time frequency of sixty seconds. Note that reducing DtOutput to small values can reduce the maximum RAM-SCB time step as a result of ensuring that the file is written every DtOutput.
Satellite Trajectory Files contain the trajectory of the satellite. They should have the following format:
\begin{verbatim}
#START
2004 6 24 0 0 58 0 2.9 -3.1 - 3.7
2004 6 24 0 1 58 0 2.8 -3.2 - 3.6
\end{verbatim}
The file containing the satellite trajectory should include data in the following order:
\begin{verbatim}
yr mn dy hr min sec msec x y z
\end{verbatim}
with the position variables in units of the body radii or the length scale normalization. Note that this is the same format as BATS-R-US trajectory files with one important feature: the position is assumed to be in SM coordinates. If the input coordinates are in another coordinate system, use the #COOR command to specify what system is used in the file. RAM-SCB will convert from that system to SM.
The maximum number of satellite files allowed is 100. The maximum number of lines in a given satellite file (past the #START command) is 100,000. Both of these can be changed by editing the value of MaxRamSat and MaxRamSatLines (respectively) in ModRamSats.f90
Each satellite listed under the #SATELLITE command will produce a NetCDF file in the output_ram folder. Simulation meta data, such as run parameters, start times, etc., are contained within this file as well as energy and pitch angle grid information. Magnetic field, flux, spacecraft position, and other values are saved for every DtOutput for which the satellite is within the 3D Equilibrium code's domain. Each record written takes about ten kilobytes of hard drive space.
</command>
<command name="OUTPUT_FREQUENCY">
<parameter name="DtPressureFileWrite" type="float" default=300.0/>
<parameter name="DthIFileWrite" type="float" default=300.0/>
<parameter name="DtEFieldFileWrite" type="float" default=3600.0/>
<parameter name="DtMagXYZFileWrite" type="float" default=300.0/>
#OUTPUT_FREQUENCY
300.0 DtPressureFileWrite
300.0 DthIFileWrite
3600.0 DtEFieldFileWrite
300.0 DtMAGxyzFileWrite
Specify the frequency of various output writes for RAM and SCB. Default frequencies are shown.
\begin{itemize}
\item DtPressureFileWrite: How often RAM equatorial pressures should be written (in seconds)
\item DthIFileWrite: How often SCB hI files should be written (in seconds)
\item DtEFieldFileWrite: How often electric field files should be written
\item DtMAGxyzFileWrite: How often x, y, and z from SCB should be written
\end{itemize}
</command>
</commandgroup>
<commandgroup name="TESTING">
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!Testing group!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<command name="TEST">
<parameter name="StringTest" type="string" length="100"/>
#TEST
CON_session::do_session StringTest
A space separated list of subroutine and function names to be tested. Only subroutines containing the 'call CON_set_do_test(...)' statement can be tested. The first argument is the name of the subroutine, usually defined as the string parameter 'NameSub'. Default is an empty string.
\noindent
This feature and its conventions has been adopted from the Space Weather Modeling Framework.
</command>
</commandgroup>
</commandList>