psmile_write_meta.F90

Go to the documentation of this file.
00001 !-----------------------------------------------------------------------
00002 ! Copyright 2006-2010, SGI Germany, Munich, Germany.
00003 ! All rights reserved. Use is subject to OASIS4 license terms.
00004 !-----------------------------------------------------------------------
00005 !BOP
00006 !
00007 ! !ROUTINE:  psmile_write_meta
00008 !
00009 ! !INTERFACE:
00010       subroutine psmile_write_meta(ierror)
00011 !
00012 ! !USES:
00013 !
00014       use psmile,dummy_interface=> psmile_write_meta
00015       implicit none
00016 !
00017 ! !OUTPUT PARAMETERS:
00018 !
00019       integer,intent(out) :: ierror
00020 !
00021 ! !LOCAL VARIABLES
00022       integer :: il_i,il_taskid
00023 !
00024 ! !DESCRIPTION:
00025 !
00026 ! Driver routine of psmile_write_meta_byid. Loops over fields and calls
00027 ! psmile_write_meta_byid if the field is subject to file I/O.
00028 ! Called by psmile_open_file_byid and psmile_enddef_meta.
00029 !
00030 ! !REVISION HISTORY:
00031 !
00032 !   Date      Programmer   Description
00033 ! ----------  ----------   -----------
00034 !  09.12.03   R. Vogelsang created
00035 !  23.3.04    R. Vogelsang Added the code to handle  multiple I/O tasks
00036 !
00037 !EOP
00038 !----------------------------------------------------------------------
00039 !
00040    Character(len=len_cvs_string), save :: mycvs = 
00041        '$Id'
00042 
00043       ierror=0
00044 
00045 #ifdef __PSMILE_WITH_IO
00046 #ifdef VERBOSE
00047       print*,trim(ch_id),' : psmile_write_meta: start'
00048       call psmile_flushstd
00049 
00050 #endif
00051 
00052       do il_i=1,Number_of_Fields_allocated
00053 
00054         if(Fields(il_i)%status .eq. PSMILe_status_defined .and. &
00055          associated( Fields(il_i)%io_chan_infos)) then
00056 
00057             do il_taskid=1,size(Fields(il_i)%io_task_lookup)
00058 
00059               if(Fields(il_i)%io_task_lookup(il_taskid) .gt. 0 ) then
00060                 call psmile_write_meta_byid(il_i,il_taskid,ierror )
00061               endif
00062 
00063             enddo
00064 
00065         endif
00066 
00067       enddo
00068 #ifdef VERBOSE
00069       print*,trim(ch_id),' : psmile_write_meta: end'
00070       call psmile_flushstd
00071 
00072 #endif
00073 #endif
00074 
00075       end subroutine psmile_write_meta
00076 

Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1