Table of Contents |
---|
3.2.1
...
CHEAT SHEET | |
ITM | IMAS |
---|---|
use euitm_schemas | use ids_schemas |
use euitm_routines | use ids_routines |
type (type_<cpo_name>) :: cpo | type (ids_<ids_name>) :: ids |
type (type_<cpo_name>), pointer :: cpoArray(:) ! <= Array !!! | type (ids_<ids_name>) :: ids <== SINGLE OBJ !!! |
call euitm_create('euitm', shot, run, refShot, refRun, idx) | call imas_create('ids', shot, run, refShot, refRun, idx) |
call euitm_open('euitm', shot, run, idx) | call imas_open('ids', shot, run, idx) |
call euitm_put(idx, '<cpo_name>', cpoArray) <== ARRAY! | call ids_put(idx, '<ids_name>', ids) <== SINGLE OBJ |
call euitm_put_non_timed(idx,"<cpo_name>", cpo) | call ids_put_non_timed(idx,"<ids_name>",ids) |
call euitm_put_slice(idx, '<cpo_name>', cpo) | call ids_put_slice(idx, '<ids_name>', ids) |
call euitm_deallocate(cpoArray) | call ids_deallocate(ids) |
call euitm_close(idx) | call imas_close(idx) |
call euitm_enable_mem_cache(idx) | call imas_enable_mem_cache(idx) |
call euitm_disable_mem_cache(idx) | call imas_disable_mem_cache(idx) |
call euitm_flush_all(idx) | call imas_flush_all(idx) |
3.2.2 CPO/IDS put
Method "put"
...
Code Block | ||||
---|---|---|---|---|
| ||||
program diagnostic
use euitm_schemas
use euitm_routines
implicit none
integer :: idx, i, arraySize
type (type_equilibrium), pointer::cpoArray(:)<= ARRAY!
! Open a database
call euitm_create('euitm', 11, 22, -1, -1, idx)
! CPO structure allocation
allocate(cpoArray(10))
!SCALARS (!)
do i=1, 10
cpoArray(i)%time = VALUE
cpoArray(i)%x%y = VALUE
enddo
call euitm_put(idx, 'equilibrium', cpoArray)
call euitm_deallocate(cpoArray)
! Close a pulse file
call euitm_close(idx)
end program |
Code Block | ||||
---|---|---|---|---|
| ||||
program diagnostic
use ids_schemas
use ids_routines
implicit none
integer :: idx, i
type (ids_core_profiles): ids <= Single object !!
! Open a database
call imas_create('ids', 11, 22, -1, -1, idx)
! Mandatory to define this property
ids%ids_properties%homogeneous_time = 1
! IDS structure allocation
allocate(ids%time(10))
allocate(ids%x%y(10))
!SCALARS (!)
do i=1, 10
ids%time(i) = VALUE
ids%x%y(i) = VALUE
enddo
! VECTORS
ids%time = timeVector
ids%x%y = valueVector
call ids_put(idx, 'core_profiles', ids)
call ids_deallocate(ids)
! Close a pulse file
call imas_close(idx)
end program
|
3.2.
...
...
title | ITM |
---|---|
linenumbers | true |
...
2 Method "putSlice"
Code Block | ||||
---|---|---|---|---|
| ||||
program diagnostic
use ids_schemas
use ids_routines
implicit none
integer :: idx, i
type (ids_core_profiles) :: ids ! <= Single object !
! Open a database
call imas_create('ids', 11, 22, -1, -1, idx)
! Mandatory to define this property
ids%ids_properties%homogeneous_time = 1
! Time NOT dependent data
allocate(ids%ids_properties%comment(1))
ids%ids_properties%comment(1) = 'IDS put by put_slice'
call ids_put_non_timed(idx,"core_profiles",ids)
! IDS structure allocation
allocate(ids%time(1))
allocate(ids%x%y(1))
ids%time(1) = VALUE
ids%x%y(1) = VALUE
call ids_put_slice(idx, 'core_profiles', ids)
call ids_deallocate(ids)
! Close a pulse file
call imas_close(idx)
end program
|
3.2.
...
title | ITM |
---|---|
linenumbers | true |
...
3 Method "get"
Code Block | ||||
---|---|---|---|---|
| ||||
program diagnostic
use ids_schemas
use ids_routines
implicit none
integer :: idx, i, arraySize
type (ids_core_profiles) :: ids ! <= Single object !!
! Open a database
call imas_open('ids', 14, 4, idx)
! Get data
call ids_get(idx, 'core_profiles', ids)
! Check array size
arraySize = size(ids%time) ! <= time vector
! SCALARS (!)
do i=1, arraySize
write (*,*) "Time : ", ids%time(i)
write (*,*) "Value: ", ids%x%y(i)
enddo
! VECTORS
write (*,*) "Time : ", ids%time
write (*,*) "Value: ", ids%x%y
! Close a pulse file
call imas_close(idx)
end program |
...
3.2.
...
language | cpp |
---|---|
title | ITM |
linenumbers | true |
...
4 Method "getSlice"
Code Block | ||||
---|---|---|---|---|
| ||||
program diagnostic
! UAL library
use ids_schemas
use ids_routines
implicit none
integer :: idx
type (ids_core_profiles) :: ids
! Open a database
call imas_open('ids', 11, 22, idx)
! Get data
call ids_get_slice(idx, 'core_profiles', ids, 4.0, 1)
write (*,*) "Time : ", ids%time
write (*,*) "Value : ", ids%x%y
! Memory clean-up
call ids_deallocate(ids)
! Close a pulse file
call imas_close(idx)
end program |