Developer notes
Before you will extend Bifrost code make sure you read coding style document
Naming convention¶
Modules are called _mod. All modules should contain
an initialisation procedure called init_, where for instance data
should be read in.
Only setup file that does not depend on the paralization scheme is
params, all other should make sure read/write should be done by the
master only!
Local sizes are xs-xe,ys-ye,zs-ze for the trustworthy grid, while
boudnary points are xsb-xeb,ysb-yeb,zsb-zeb, making the points in
x-direction distributed as:
All major procedures that uses input procedures needs to have a
subroutine called resolve_params_<procedure>(name,value) and should
have a call to read_params(<procedure>) with <procedure> being
mhd,hd,radiation, eos, etc. These are not meant for large io
operations, but only for reading the text input file generated for/by
IDL or Python The case statements in the resolve_params_<proc>
should contain only lowercase letters, the variable names in the .in
file are converted to lowercase before being parsed to the respective
resolve_params_<proc>.
init_<hd,mhd,...> should make a check to see if the required number of
work arrays are allocated, and allocate more if they are not - see
example in mhd_mpi.f90