psmile_trans_loc2glob_gauss2.F90

Go to the documentation of this file.
00001 !-----------------------------------------------------------------------
00002 ! Copyright 2006-2010, NEC Europe Ltd., London, UK.
00003 ! Copyright 2011, DKRZ, Hamburg, Germany.
00004 ! All rights reserved. Use is subject to OASIS4 license terms.
00005 !-----------------------------------------------------------------------
00006 !BOP
00007 !
00008 ! !ROUTINE: PSMILe_trans_loc2glob_gauss2
00009 !
00010 ! !INTERFACE:
00011 
00012       subroutine psmile_trans_loc2glob_gauss2 (grid_id, &
00013                       ibuf, len_item, nloc, ierror)
00014 !
00015 ! !USES:
00016 !
00017       use PRISM_constants
00018       use PSMILe, dummy_interface => PSMILe_trans_loc2glob_gauss2
00019       use psmile_grid_reduced_gauss, only : psmile_gauss_local_1d_to_3d
00020 
00021       Implicit none
00022 !
00023 ! !INPUT PARAMETERS:
00024 !
00025       Integer,         Intent (In)    :: grid_id
00026 
00027 !     Grid Id of the source grid (grid on which the points are searched)
00028 !
00029       Integer, Intent (In)            :: nloc
00030 !
00031 !     Number of locations to be transferred
00032 !
00033       Integer, Intent (In)            :: len_item
00034 !
00035 !     First dimension of array "ibuf"
00036 !
00037 ! !INPUT/OUTPUT PARAMETERS:
00038 !
00039       Integer, Intent (InOut)         :: ibuf (len_item, nloc)
00040 !
00041 !     Indices of locations to be transformed with
00042 !     Input:  Indices as local  indices in Gaus Reduced Grid
00043 !     Output: Indices as global indices in (virtual) 3d Grid
00044 !
00045 ! !OUTPUT PARAMETERS:
00046 !
00047       Integer, Intent (Out)           :: ierror
00048 
00049 !     Returns the error code of PSMILe_trans_loc2glob_gauss2;
00050 !             ierror = 0 : No error
00051 !             ierror > 0 : Severe error
00052 !
00053 !
00054 ! !DESCRIPTION:
00055 !
00056 ! Subroutine "PSMILe_trans_global_gauss2" transforms
00057 ! the local indices in the GaussReduced Grid into global
00058 ! (virtual) 3d-indices for a grid of type
00059 ! "PRISM_Gaussreduced_regvrt".
00060 !
00061 !
00062 ! !REVISION HISTORY:
00063 !
00064 !   Date      Programmer   Description
00065 ! ----------  ----------   -----------
00066 ! 13.02.07    H. Ritzdorf  created
00067 ! 14.03.2011  M. Hanke     replaced everything with a call to
00068 !                          psmile_gauss_local_1d_to_3d
00069 !
00070 !EOP
00071 !----------------------------------------------------------------------
00072 !
00073 !  $Id: psmile_trans_loc2glob_gauss2.F90,v 1.1.2.6 2009/02/11 10:43:43 redler Exp $
00074 !  $Author: redler $
00075 !
00076    Character(len=len_cvs_string), save :: mycvs = 
00077        '$Id: psmile_trans_loc2glob_gauss2.F90,v 1.1.2.6 2009/02/11 10:43:43 redler Exp $'
00078 !
00079 !----------------------------------------------------------------------
00080 !
00081 !  Initialization
00082 !
00083 #ifdef VERBOSE
00084       print 9990, trim(ch_id)
00085 
00086       call psmile_flushstd
00087 #endif /* VERBOSE */
00088 !
00089       ierror = 0
00090       
00091       ibuf(1:3,:) = psmile_gauss_local_1d_to_3d (grid_id, ibuf(1,:), nloc)
00092 !
00093 !===> All done
00094 !
00095 #ifdef VERBOSE
00096       print 9980, trim(ch_id)
00097 
00098       call psmile_flushstd
00099 #endif /* VERBOSE */
00100 !
00101 !  Formats:
00102 !
00103 9990 format (1x, a, ': psmile_trans_loc2glob_gauss2')
00104 9980 format (1x, a, ': psmile_trans_loc2glob_gauss2: eof')
00105 
00106       end subroutine psmile_trans_loc2glob_gauss2

Generated on 18 Mar 2011 for Oasis4 by  doxygen 1.6.1