! +-======-+ ! Copyright (c) 2003-2018 United States Government as represented by ! the Admistrator of the National Aeronautics and Space Administration. ! All Rights Reserved. ! ! THIS OPEN SOURCE AGREEMENT ("AGREEMENT") DEFINES THE RIGHTS OF USE, ! REPRODUCTION, DISTRIBUTION, MODIFICATION AND REDISTRIBUTION OF CERTAIN ! COMPUTER SOFTWARE ORIGINALLY RELEASED BY THE UNITED STATES GOVERNMENT AS ! REPRESENTED BY THE GOVERNMENT AGENCY LISTED BELOW ("GOVERNMENT AGENCY"). ! THE UNITED STATES GOVERNMENT, AS REPRESENTED BY GOVERNMENT AGENCY, IS AN ! INTENDED THIRD-PARTY BENEFICIARY OF ALL SUBSEQUENT DISTRIBUTIONS OR ! REDISTRIBUTIONS OF THE SUBJECT SOFTWARE. ANYONE WHO USES, REPRODUCES, ! DISTRIBUTES, MODIFIES OR REDISTRIBUTES THE SUBJECT SOFTWARE, AS DEFINED ! HEREIN, OR ANY PART THEREOF, IS, BY THAT ACTION, ACCEPTING IN FULL THE ! RESPONSIBILITIES AND OBLIGATIONS CONTAINED IN THIS AGREEMENT. ! ! Government Agency: National Aeronautics and Space Administration ! Government Agency Original Software Designation: GSC-15354-1 ! Government Agency Original Software Title: GEOS-5 GCM Modeling Software ! User Registration Requested. Please Visit http://opensource.gsfc.nasa.gov ! Government Agency Point of Contact for Original Software: ! Dale Hithon, SRA Assistant, (301) 286-2691 ! ! +-======-+ ! ! Unit test for Chem_UtilMPread() ! PROGRAM ut_mpread #if defined (SPMD) use mod_comm, only : gid, mp_init, mp_exit, y_decomp #endif use Chem_UtilMod, only: CHem_UtilMPread implicit NONE integer, parameter :: im = 288, jm = 181, km = 55, nq = 1 integer :: i1, i2, ig=0, j1, j2, jg=0 integer :: jnp=jm, nl=km, jfirst=1, jlast=jm, kfirst=1, klast=km integer nymd, nhms character(len=255) :: filen #if !defined (SPMD) integer :: gid = 0 #endif real, allocatable :: src(:,:) #if defined(SPMD) call mp_init() call y_decomp( jnp, nl, jfirst, jlast, kfirst, klast, gid) if ( gid .eq. 0 ) then print *, 'mod_comm initialized' print *, 'gid, jnp, nl, jfirst, jlast, kfirst, klast = ' end if #endif print *, 'gid: ', gid, jnp, nl, jfirst, jlast, kfirst, klast allocate ( src(im,jfirst:jlast) ) !!! filen = '/share/fvchem/ginoux.DU_src.sfc_288x181.clm.hdf' filen = 'ginoux.DU_src.sfc_288x181.clm.hdf' nymd = 20021219 nhms = 0 i1 = 1 i2 = im ig = 0 j1 = jfirst j2 = jlast jg = 0 call Chem_UtilMPread ( filen, 'du_src', nymd, nhms, & i1, i2, ig, im, j1, j2, jg, jm, km, & var2d = src ) print *, 'gid ', gid, ':', minval(src), maxval(src) deallocate ( src ) #if defined(SPMD) call mp_exit( ) #endif end Program ut_mpread