Changeset 384 for XIOS/trunk/src/test
- Timestamp:
- 10/25/12 10:12:20 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/test/test_cs.f90
r369 r384 10 10 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr) 11 11 12 IF (rank< 7) THEN13 CALL client("client",rank, 7)12 IF (rank<11) THEN 13 CALL client("client",rank,11) 14 14 ELSE 15 15 CALL server … … 43 43 DOUBLE PRECISION,DIMENSION(ni_glo,nj_glo) :: lon_glo,lat_glo 44 44 DOUBLE PRECISION :: field_A_glo(ni_glo,nj_glo,llm) 45 DOUBLE PRECISION,ALLOCATABLE :: lon(:,:),lat(:,:),field_A(:,:,:), lonvalue(:) ; 46 INTEGER :: ni,ibegin,iend,nj,jbegin,jend 47 INTEGER :: i,j,l,ts,n 45 DOUBLE PRECISION,ALLOCATABLE :: lon(:),lat(:),field_A(:,:), lonvalue(:) ; 46 LOGICAL,ALLOCATABLE :: mask(:,:) 47 INTEGER :: ni,ibegin,iend,nj,jbegin,jend,data_ibegin,data_ni 48 INTEGER :: i,j,k,l,ts,n,nij_begin 49 48 50 49 51 CALL init_wait … … 61 63 ni=ni_glo ; ibegin=1 62 64 63 jbegin=1 65 66 nij_begin=1 64 67 DO n=0,size-1 65 nj=nj_glo/size 66 IF (n<MOD(nj_glo,size)) nj=nj+1 67 IF (n==rank) exit 68 jbegin=jbegin+nj 68 data_ni=(ni_glo*nj_glo)/size 69 IF (n < MOD (ni_glo*nj_glo,size)) data_ni=data_ni+1 70 IF (n==rank) THEN 71 ibegin=1 ; iend=ni_glo ; ni=iend-ibegin+1 72 jbegin=(nij_begin-1)/ni_glo +1 73 jend=MOD(nij_begin-1 + data_ni-1,ni_glo) +1 74 nj = jend-jbegin+1 75 data_ibegin=MOD(nij_begin-1,ni_glo) 76 exit 77 ELSE 78 nij_begin=nij_begin+data_ni 79 ENDIF 69 80 ENDDO 70 81 71 iend=ibegin+ni-1 ; jend=jbegin+nj-172 82 73 ALLOCATE(lon(ni,nj),lat(ni,nj),field_A(0:ni+1,-1:nj+2,llm),lonvalue(ni*nj)) 74 lon(:,:)=lon_glo(ibegin:iend,jbegin:jend) 75 lat(:,:)=lat_glo(ibegin:iend,jbegin:jend) 76 field_A(1:ni,1:nj,:)=field_A_glo(ibegin:iend,jbegin:jend,:) 83 ALLOCATE(lon(ni),lat(nj),field_A(data_ni,llm),lonvalue(ni*nj)) 84 ALLOCATE(mask(ni,nj)) 85 lon(:)=lon_glo(ibegin:iend,1) 86 lat(:)=lat_glo(1,jbegin:jend) 87 88 DO k=1,data_ni 89 n=k-1+(jbegin-1)*ni_glo+data_ibegin 90 i=MOD(n,ni_glo)+1 91 j=n/ni_glo+1 92 field_A(k,:)=field_A_glo(i,j,:) 93 ENDDO 94 95 mask(:,:)=.TRUE. 96 mask(1:ni,6)=.TRUE. 77 97 78 98 … … 89 109 CALL xios_set_context_attr("test",calendar_type="Gregorian") 90 110 CALL xios_set_axis_attr("axis_A",size=llm ,value=lval) ; 91 CALL xios_set_domain_attr("domain_A",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj) 92 ! CALL xios_set_domain_attr("domain_A",zoom_ni=10,zoom_ibegin=5,zoom_nj=20,zoom_jbegin=10) 93 CALL xios_set_domain_attr("domain_A",data_dim=2, data_ibegin=-1, data_ni=ni+2, data_jbegin=-2, data_nj=nj+4) 94 CALL xios_set_domain_attr("domain_A",lonvalue=RESHAPE(lon,(/ni*nj/)),latvalue=RESHAPE(lat,(/ni*nj/))) 111 CALL xios_set_domain_attr("domain_A",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, iend=iend,jbegin=jbegin,jend=jend) 112 ! CALL xios_set_domain_attr("domain_A",zoom_ni=10,zoom_ibegin=5,zoom_nj=nj_glo,zoom_jbegin=1) 113 CALL xios_set_domain_attr("domain_A",data_dim=1, data_ibegin=data_ibegin, data_ni=data_ni) 114 CALL xios_set_domain_attr("domain_A",lonvalue=lon,latvalue=lat) 115 ! CALL xios_set_domain_attr("domain_A",mask=mask) 95 116 CALL xios_set_fieldgroup_attr("field_definition",enabled=.TRUE.) 96 117 … … 107 128 CALL xios_set_timestep(dtime) 108 129 109 ni=0 ; lonvalue(:)=0110 CALL xios_get_domain_attr("domain_A",ni=ni,lonvalue=lonvalue)130 ! ni=0 ; lonvalue(:)=0 131 ! CALL xios_get_domain_attr("domain_A",ni=ni,lonvalue=lonvalue) 111 132 112 print *,"ni",ni113 print *,"lonvalue",lonvalue ;133 ! print *,"ni",ni 134 ! print *,"lonvalue",lonvalue ; 114 135 115 136 CALL xios_close_context_definition()
Note: See TracChangeset
for help on using the changeset viewer.