Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

3.1 Accessing data using Fortran

...

CHEAT SHEET
ITMIMAS
use euitm_schemas
use ids_schemas
use euitm_routines
use ids_routines
type (type_<cpo_name>) :: cpo 
type (ids_<ids_name>) :: ids 
call euitm_create('euitm', shot, run, refShot, refRun, idx)
call imas_create('ids', shot, run, refShot, refRun, 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)

 

4. Open example file

put() CPO vs IDS
Code Block
titleITM
linenumberstrue
program diagnostic
    use euitm_schemas
    use euitm_routines
    implicit none

    integer :: idx, i
    type (type_equilibrium) :: cpo ! <= Single object !!!

	! Open a database
    call euitm_create('euitm', 11, 22, -1, -1, idx)





	! CPO structure allocation
	

!SCALARS (!)
	 	cpo%time = VALUE
        cpo%x%y = VALUE
   
    



call euitm_put_slice(idx, 'equilibrium', cpo)
call euitm_deallocate(cpoArray)
    ! Close a pulse file
    call euitm_close(idx)
end program
Code Block
titleIMAS
linenumberstrue
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 


allocate(ids%ids_properties%comment(1))
 ids%ids_properties%comment(1) = 'A test ids put using put_slice'
 call ids_put_non_timed(idx,"core_profiles",ids)


 ! IDS structure allocation
allocate(ids%time(1))
allocate(ids%x%y(1))   
 
!SCALARS (!)
    	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

...