Skip to content

Commit a6c70c9

Browse files
authored
Merge pull request #15 from pabloprf/development_mitim
Latest developments, breaks back-compatibility, changes flag names, significant restructuring of code, getting ready for MITIM 2.0.0
2 parents 7fe8408 + 9554dea commit a6c70c9

File tree

162 files changed

+8335
-6813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+8335
-6813
lines changed

config/config_user_example.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
{
22
"preferences": {
3+
"verbose_level": "1",
4+
"dpi_notebook": "100",
35
"trxpl": "mfews",
46
"profiles_gen": "engaging",
57
"tgyro": "engaging",
68
"tglf": "engaging",
79
"cgyro": "engaging",
10+
"astra": "engaging",
811
"eq": "mfews",
912
"scruncher": "mfews",
1013
"ntcc": "mfews",
1114
"get_fbm": "mfews",
1215
"transp": "globus",
13-
"idl": "mfews",
14-
"verbose_level": "1",
15-
"dpi_notebook": "100"
16+
"idl": "mfews"
1617
},
1718
"local": {
1819
"machine": "local",

config/machines_sources/aliases.bashrc

+18-18
Original file line numberDiff line numberDiff line change
@@ -4,33 +4,33 @@
44

55
# mitim_tools interfaces: read, run, plot
66

7-
alias mitim_plot_gacode="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/exe/read_gacode.py $1"
8-
alias mitim_plot_tgyro="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/exe/read_tgyro.py $1"
9-
alias mitim_plot_tglf="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/exe/read_tglf.py $1" # [--suffix _0.55] [--gacode input.gacode]
10-
alias mitim_plot_cgyro="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/exe/read_cgyro.py $1"
11-
alias mitim_plot_eq="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gs_tools/exe/read_eq.py $1"
12-
alias mitim_plot_transp="ipython3 -i -- $MITIM_PATH/src/mitim_tools/transp_tools/exe/read_transp.py $1"
7+
alias mitim_plot_gacode="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/scripts/read_gacode.py $1"
8+
alias mitim_plot_tgyro="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/scripts/read_tgyro.py $1"
9+
alias mitim_plot_tglf="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/scripts/read_tglf.py $1" # [--suffix _0.55] [--gacode input.gacode]
10+
alias mitim_plot_cgyro="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/scripts/read_cgyro.py $1"
11+
alias mitim_plot_eq="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gs_tools/scripts/read_eq.py $1"
12+
alias mitim_plot_transp="ipython3 -i -- $MITIM_PATH/src/mitim_tools/transp_tools/scripts/read_transp.py $1"
1313

14-
alias mitim_run_tglf="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/exe/run_tglf.py $1 $2" # (folder input.tglf) [--gacode input.gacode] [--scan RLTS_2] [--drives True]
14+
alias mitim_run_tglf="ipython3 -i -- $MITIM_PATH/src/mitim_tools/gacode_tools/scripts/run_tglf.py $1 $2" # (folder input.tglf) [--gacode input.gacode] [--scan RLTS_2] [--drives True]
1515

1616
# Optimizations
17-
alias mitim_plot_opt="ipython3 -i -- $MITIM_PATH/src/mitim_tools/opt_tools/exe/read.py --type 4 --resolution 20 $1"
18-
alias mitim_plot_portals="ipython3 -i -- $MITIM_PATH/src/mitim_modules/portals/exe/readMetrics.py $1"
19-
alias mitim_slurm="python3 $MITIM_PATH/src/mitim_tools/opt_tools/exe/slurm.py $1"
17+
alias mitim_plot_opt="ipython3 -i -- $MITIM_PATH/src/mitim_tools/opt_tools/scripts/read.py --type 4 --resolution 20 $1"
18+
alias mitim_plot_portals="ipython3 -i -- $MITIM_PATH/src/mitim_modules/portals/scripts/read_portals.py $1"
19+
alias mitim_slurm="python3 $MITIM_PATH/src/mitim_tools/opt_tools/scripts/slurm.py $1"
2020

2121
# TRANSP
22-
alias mitim_trcheck="python3 $MITIM_PATH/src/mitim_tools/transp_tools/exe/run_check.py $1" # mitim_trcheck pablorf
23-
alias mitim_trcheck_p="python3 $MITIM_PATH/src/mitim_tools/transp_tools/exe/run_check_periodic.py $1" # mitim_trcheck_p pablorf
24-
alias mitim_trclean="python3 $MITIM_PATH/src/mitim_tools/transp_tools/exe/run_clean.py $1" # mitim_trclean 88664P CMOD --numbers 1,2,3
25-
alias mitim_trlook="ipython3 -i -- $MITIM_PATH/src/mitim_tools/transp_tools/exe/run_look.py $1" # mitim_trlook 152895P01 CMOD --nofull --plot --remove
22+
alias mitim_trcheck="python3 $MITIM_PATH/src/mitim_tools/transp_tools/scripts/run_check.py $1" # mitim_trcheck pablorf
23+
alias mitim_trcheck_p="python3 $MITIM_PATH/src/mitim_tools/transp_tools/scripts/run_check_periodic.py $1" # mitim_trcheck_p pablorf
24+
alias mitim_trclean="python3 $MITIM_PATH/src/mitim_tools/transp_tools/scripts/run_clean.py $1" # mitim_trclean 88664P CMOD --numbers 1,2,3
25+
alias mitim_trlook="ipython3 -i -- $MITIM_PATH/src/mitim_tools/transp_tools/scripts/run_look.py $1" # mitim_trlook 152895P01 CMOD --nofull --plot --remove
2626

2727
# To run TRANSP (in folder with required files): transp 88664 P01 CMOD --version tshare --trmpi 32 --toricmpi 32 --ptrmpi 32
28-
alias transp="python3 $MITIM_PATH/src/mitim_tools/transp_tools/exe/run_transp.py"
28+
alias transp="python3 $MITIM_PATH/src/mitim_tools/transp_tools/scripts/run_transp.py"
2929

3030
# IM Aliases
31-
alias runim="python3 $MITIM_PATH/src/mitim_tools/im_tools/exe/run_im.py ./" # To run complete IM evaluation: runim 7 [DebugOption: --debug 0]
32-
alias runmitim="python3 $MITIM_PATH/mitim_opt/scenarios_tools/routines/runMITIM_BO.py" # To peform scenario optimization
31+
alias runim="python3 $MITIM_PATH/src/mitim_tools/im_tools/scripts/run_im.py ./" # To run complete IM evaluation: runim 7 [DebugOption: --debug 0]
32+
alias runmitim="python3 $MITIM_PATH/mitim_opt/scenarios_tools/scripts/runMITIM_BO.py" # To peform scenario optimization
3333

3434
# Others
35-
alias compare_nml="python3 $MITIM_PATH/src/mitim_tools/transp_tools/routines/compareNML.py $1"
35+
alias compare_nml="python3 $MITIM_PATH/src/mitim_tools/misc_tools/scripts/compare_namelist.py $1"
3636
alias eff_job="python3 $MITIM_PATH/src/mitim_tools/misc_tools/PARALLELtools.py $1" # Give mitim.out or slurm_output.dat

config/machines_sources/eofe.bashrc

+6-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ then
6060

6161
# GPU
6262
alias nvi='nvidia-smi pmon -i 0'
63-
alias slgpu='python3 $MITIM_PATH/mitim_opt/opt_tools/exe/slurm.py $1 --partition sched_mit_psfc_gpu_r8 $2'
63+
alias slgpu='python3 $MITIM_PATH/mitim_opt/opt_tools/scripts/slurm.py $1 --partition sched_mit_psfc_gpu_r8 $2'
6464
alias sagpu='salloc --partition sched_mit_psfc_gpu_r8 --nodes=1 --exclusive --time=8:00:00'
6565

6666
# --------------------------------------------------------------------------------
@@ -91,6 +91,11 @@ then
9191
! [ -z "$PS1" ] && echo " * ASTRA modules loaded"
9292
fi
9393

94+
# --------------------------------------------------------------------------------
95+
# TRANSP
96+
# --------------------------------------------------------------------------------
97+
module load singularity
98+
9499
fi
95100

96101
# --------------------------------------------------------------------------------

config/machines_sources/iris.bashrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
export GACODE_PLATFORM=IRIS
1313
export GACODE_ROOT=/home/$USER/gacode
1414
. ${GACODE_ROOT}/shared/bin/gacode_setup
15-
module load ntcc
15+
module load ntcc-dev
1616

1717
#. ${GACODE_ROOT}/platform/env/env.${GACODE_PLATFORM} # IMPORTANT to not do this, otherwise it will then point to atom
1818

config/machines_sources/slurm_aliases.bashrc

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Submission
55
# --------------------------------------------------------------------------------
66

7-
alias sl='python3 $MITIM_PATH/mitim_opt/opt_tools/exe/slurm.py $1 --partition $MITIM_PARTITION $2'
7+
alias sl='python3 $MITIM_PATH/mitim_opt/opt_tools/scripts/slurm.py $1 --partition $MITIM_PARTITION $2'
88

99
# --------------------------------------------------------------------------------
1010
# Information

docs/capabilities/optimization.rst

+9-9
Original file line numberDiff line numberDiff line change
@@ -44,26 +44,26 @@ Select the location of the MITIM namelist (see :ref:`Understanding the MITIM nam
4444
.. code-block:: python
4545
4646
folder = IOtools.expandPath('$MITIM_PATH/tests/scratch/mitim_tut/')
47-
namelist = IOtools.expandPath('$MITIM_PATH/templates/main.namelist')
47+
namelist = IOtools.expandPath('$MITIM_PATH/templates/main.namelist.json')
4848
49-
Then create your custom optimization object as a child of the parent ``STRATEGYtools.FUNmain`` class.
49+
Then create your custom optimization object as a child of the parent ``STRATEGYtools.opt_evaluator`` class.
5050
You only need to modify what operations need to occur inside the ``run()`` (where operations/simulations happen) and ``scalarized_objective()`` (to define what is the target to maximize) methods.
5151
In this example, we are using ``x**2`` as our function with a 2% evaluation error, to find ``x`` such that ``x**2=15``:
5252

5353
.. code-block:: python
5454
55-
class opt_class(STRATEGYtools.FUNmain):
55+
class opt_class(STRATEGYtools.opt_evaluator):
5656
def __init__(self, folder, namelist):
5757
# Store folder, namelist. Read namelist
5858
super().__init__(folder, namelist=namelist)
5959
# ----------------------------------------
6060
6161
# Problem description (rest of problem parameters are taken from namelist)
62-
self.Optim["dvs"] = ["x"]
63-
self.Optim["dvs_min"] = [0.0]
64-
self.Optim["dvs_max"] = [20.0]
62+
self.optimization_options["dvs"] = ["x"]
63+
self.optimization_options["dvs_min"] = [0.0]
64+
self.optimization_options["dvs_max"] = [20.0]
6565
66-
self.Optim["ofs"] = ["z", "zval"]
66+
self.optimization_options["ofs"] = ["z", "zval"]
6767
self.name_objectives = ["zval_match"]
6868
6969
def run(self, paramsfile, resultsfile):
@@ -81,7 +81,7 @@ In this example, we are using ``x**2`` as our function with a 2% evaluation erro
8181
self.write(dictOFs, resultsfile)
8282
8383
def scalarized_objective(self, Y):
84-
ofs_ordered_names = np.array(self.Optim["ofs"])
84+
ofs_ordered_names = np.array(self.optimization_options["ofs"])
8585
8686
of = Y[..., ofs_ordered_names == "z"]
8787
cal = Y[..., ofs_ordered_names == "zval"]
@@ -118,7 +118,7 @@ Once finished, we can plot the results easily with:
118118
Understanding the MITIM namelist
119119
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120120

121-
Checkout file ``$MITIM_PATH/templates/main.namelist``, which has comprehensive comments.
121+
Checkout file ``$MITIM_PATH/templates/main.namelist.json``, which has comprehensive comments.
122122

123123
*Under development*
124124

docs/capabilities/tgyro_capabilities.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ Now it is time to set the TGYRO settings, such as the radial range (``vectorRang
6868
'tgyro_method': 6,
6969
'relax_param': 0.1 }
7070
71-
physics_options = { 'TargetType':2 } # 2: Only evolve exchange, 3: Reactor
71+
physics_options = { 'TypeTarget':2 } # 2: Only evolve exchange, 3: Reactor
7272
PredictionSet = [1,1,0] # Profiles to predict: [Te, Ti, ne]
7373
iterations = 5 # Number of TGYRO iterations
7474
TGLFsettings = 5 # TGLF pre-sets
@@ -83,7 +83,7 @@ Now TGYRO can be run:
8383
PredictionSet = PredictionSet,
8484
TGLFsettings = TGLFsettings,
8585
TGYRO_solver_options = solver,
86-
TGYRO_physics_options = physics_options)
86+
Physics_options = physics_options)
8787
8888
Read:
8989

docs/capabilities/vitals_capabilities.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,11 @@ Then, as it the case for all optimization problems in MITIM, you must create a f
111111
.. code-block:: python
112112
113113
# Option 1: Provide the complete namelist yourself
114-
vitals_fun = VITALSmain.evaluateVITALS( folder, namelist = path_to_namelist )
114+
vitals_fun = VITALSmain.vitals( folder, namelist = path_to_namelist )
115115
116116
# Option 2: Use a curated VITALS namelist and only modify some requested values
117-
vitals_fun = VITALSmain.evaluateVITALS( folder )
118-
vitals_fun.Optim['BOiterations'] = 5
117+
vitals_fun = VITALSmain.vitals( folder )
118+
vitals_fun.optimization_options['BO_iterations'] = 5
119119
120120
Once the VITALS object has been created, parameters such as the TGLF control inputs can be chosen:
121121

0 commit comments

Comments
 (0)