You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Quote of the day

"You’re a man looking at the world through a keyhole,
and you’ve spent your whole life trying to widen that keyhole, to see more, to know more,
and now, on hearing that it can be widened, in ways you can’t imagine you reject the possibility."

The Ancient One - Doctor Strange

1. Accessing code parameters from pure IMAS code

Prepare your environment:

# clone xmllib library directly from ITER repository
$ git clone ssh://git@git.iter.org/lib/xmllib.git

# OR copy from this location
$ /pfs/work/g2dfigat/tutorials/Poznan-2019-10/xmllib

The structure of your working directory should look like this:

$ cd examples/classic/
$ tree
.
├── input_test_xmllib_pathquery.xml
├── input_test_xmllib_pathquery.xsd
├── Makefile						# instructions on how to compile
├── sample_default.xml
├── sample.f90						# code with accessing code parameters
├── sample.xml						# file with parameters
└── sample.xsd						# defining the structure of an XML document

Run an example:

$ module load imasenv		# load environment if not set
$ make
ifort  -fPIC -g  -I/gw/swimas/extra/xmllib/3.2.0/intel/17.0/include/xmllib -I/usr/include/libxml2   -c -o sample.o sample.f90
ifort -fPIC -g  -o sample.exe sample.o  -L/gw/swimas/extra/xmllib/3.2.0/intel/17.0/lib -lxmllib -lxml2
./sample.exe
 Next xml element: parameters
 Next xml element: input
 Next xml element: shot_in
 Read shot_in=           4
 Next xml element: run_in
 Read shot_in=           1
 Next xml element: interpol
 Next xml element: time_dep_input
 Next xml element: output
 Next xml element: dims
 Next xml element: compositions
 Next xml element: startup
 Next xml element: boundary
 Next xml element: equilibrium
 Next xml element: geo_ax
 Read geo_ax=   2.86000000000000
 Next xml element: plasma_ax
 Next xml element: amin
 Next xml element: elong
 Next xml element: tria_up
 Next xml element: tria_low
 Next xml element: solver
 Next xml element: experimental

Compare result with data inside sample.xml file.

2. Accessing code parameters from FC2K actor

Prepare your environment:

# clone xmllib library directly from ITER repository
$ git clone ssh://git@git.iter.org/imex/fc2k-testing-framework.git

# OR copy from this location
$ /pfs/work/g2dfigat/tutorials/Poznan-2019-10/fc2k-testing-framework

The structure of your working directory should look like this:

$ cd fc2k-testing-framework/primitives_param/fortran/
$ tree
.
├── clean.sh
├── Makefile
├── primitives_param.f90			# FC2K actor with accessing code parameters
├── primitivesparam_fc2k.xml		# FC2K configuration file
├── primitivesparam_workflow.xml	# example workflow  
├── run_test.sh						# script for run example
├── sample_default.xml
├── sample.xml						# XML file with parameters
└── sample.xsd						# defining the structure of an XML document

Run an example:

$ module load imasenv		# load environment if not set
$ ./run_test.sh
Compilation - OK
Skipping log removal
FC2K build for primitives with params - OK
Skipping log removal
Workflow execution: primitives with params - OK
Skipping log removal
Checking output - should be equal to '3' - OK
Skipping log removal

Investigate test.log file to find more detailed information on this example.

  • No labels