Versions Compared

Key

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

...

get() CPO vs IDS
Code Block
title$TUTORIAL_DIR/ids_basics/fortran/get_ids_array.f90
linenumberstrue
program diagnostic
    use euitm_schemas
    use euitm_routines
    implicit none

    integer :: idx, i, arraySize
    type (type_equilibrium), pointer :: eqArray(:) ! <= Array !!!



    call euitm_open('IDS', 14, 4, idx)
    
    call euitm_get(idx, 'equilibrium', eqArray)
    arraySize = size(eqArray)
    write (*,*) "Number of slices: ", arraySize
    
	do i=1, arraySize
    	write (*,*) "Time: ", eqArray(i)%time
        write (*,*) "Value of r: ", eqArray(i)%eqgeometry%boundary(1)%r(1)
        write (*,*) "Value of z: ", eqArray(i)%eqgeometry%boundary(1)%z(1)
    enddo
    call imaseuitm_close(idx)
end progra
Code Block
title$TUTORIAL_DIR/ids_basics/fortran/get_ids_slices.f90
linenumberstrue
program diagnostic
    use imas_schemas
    use imas_routines
    implicit none

    integer :: idx, i, arraySize
    type (type_equilibrium), pointer :: eqArray(:) ! <= Array !!!



    call imas_open('IDS', 14, 4, idx)
    
    call imas_get(idx, 'equilibrium', eqArray)
    arraySize = size(eqArray)
    write (*,*) "Number of slices: ", arraySize
    
	do i=1, arraySize
    	write (*,*) "Time: ", eqArray(i)%time
        write (*,*) "Value of r: ", eqArray(i)%eqgeometry%boundary(1)%r(1)
        write (*,*) "Value of z: ", eqArray(i)%eqgeometry%boundary(1)%z(1)
    enddo
    call imas_close(idx)
end program

...

 getSlice() CPO vs IDS
SXXX
Code Block
languagecpp
titleITM
linenumberstrue
Code Block
titleIMAS
linenumberstrue
program diagnostic
   ! UAL library
    use imaseuitm_schemas
    use imaseuitm_routines  
    
	implicit none
 
    integer :: idx, i, arraySize 
    type (type_equilibrium) :: equilibriumcpo
    real(IMAS_R8), pointer :: timeVector(:)
    real(IMAS_R8) :: time

    call imaseuitm_open('IDSeuitm', 1411, 4, idx)
       
    call imaseuitm_get_timesslice(idx, 'equilibrium',timeVector cpo, 4.0, 1)
      
     arraySize = size(timeVector)
    write (*,*) "NumberTime of slices: ", arraySizecpo%time
    write (*,*) "TimeValue vector: ", timeVectorcpo%x%y
     
	do i = 1, arraySizecall euitm_deallocate(ids)
    call euitm_close(idx)
end program
Code Block
titleIMAS
linenumberstrue
program diagnostic
    ! UAL library
    use ids_schemas
    use ids_routines  

    implicit none

   time = timeVector(i) integer :: idx 
    type (ids_core_profiles) :: ids

    call imas_get_slice(idx, 'equilibriumopen('ids', equilibrium11, time22, 1idx)
    
    call ids_get_slice(idx, 'core_profiles', ids, 4.0, 1)
    	write (*,*) "Time [", time, "]: ",  equilibrium%time
        write (*,*) "ValueTime of r: ", equilibrium%eqgeometry%boundary(1)%r(1)
    ids%time
    write (*,*) "Value of z: ", equilibrium%eqgeometry%boundary(1)%z(1)ids%x%y

    enddo
    call ids_deallocate(ids)
	call imas_close(idx)
end program

...