Changeset 953 for XIOS/trunk/src/test/test_unstruct_complete.f90
- Timestamp:
- 09/28/16 00:45:10 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/test/test_unstruct_complete.f90
r944 r953 204 204 205 205 CALL xios_set_axis_attr("axis_srf",n_glo=llm ,value=lval) ; 206 CALL xios_set_domain_attr("domain_srf", ni_glo=ncell_glo, ni=ncell, ibegin= 1, i_index=i_index)206 CALL xios_set_domain_attr("domain_srf", ni_glo=ncell_glo, ni=ncell, ibegin=0, i_index=i_index) 207 207 CALL xios_set_domain_attr("domain_srf", type='unstructured', data_dim=1, data_ni=data_n_index, & 208 208 data_i_index=data_i_index) … … 215 215 dtime%second=3600 216 216 CALL xios_set_timestep(dtime) 217 218 !CALL MSE_XIOS_GAUSS_GRID(NDGLG,NDLON,NPRGPNS ,NPRGPEW,MYSETA,MYSETB) 219 CALL MSE_XIOS_GAUSS_GRID(127 ,255 ,mpi_size,1 ,mpi_rank+1, 1) 220 217 221 CALL xios_close_context_definition() 218 222 … … 228 232 CALL xios_update_calendar(ts) 229 233 CALL xios_send_field("field_A_srf",field_A_compressed) 234 CALL xios_send_field("field_B_srf",field_A_compressed(:,1)) 230 235 ENDDO 231 236 … … 253 258 CALL xios_finalize() 254 259 255 END PROGRAM test_unstruct_complete 256 257 258 259 260 260 CONTAINS 261 SUBROUTINE MSE_XIOS_GAUSS_GRID(NDGLG,NDLON,NPRGPNS, NPRGPEW,MYSETA, MYSETB) 262 !! 263 !! PURPOSE : declare to XIOS a distribution for a rectilinear grid 264 !! -------- 265 ! 266 USE XIOS , ONLY : XIOS_DOMAIN, XIOS_DOMAINGROUP,XIOS_GET_HANDLE, & 267 XIOS_ADD_CHILD, XIOS_SET_DOMAIN_ATTR 268 ! 269 ! 270 IMPLICIT NONE 271 ! 272 INTEGER, INTENT(IN) :: NDGLG,NDLON,NPRGPNS, NPRGPEW,MYSETA, MYSETB 273 ! 274 ! 275 !* 0.2 Declarations of local variables 276 ! ------------------------------- 277 ! 278 CHARACTER(LEN=8), PARAMETER :: YNAMGRID="complete" 279 INTEGER :: NI,NJ,I,J,IOFF,JOFF 280 REAL :: ZINCR 281 DOUBLE PRECISION, ALLOCATABLE, DIMENSION(:) :: ZLATI,ZLONG 282 ! 283 TYPE(xios_domaingroup) :: domaingroup_hdl 284 TYPE(xios_domain) :: domain_hdl 285 ! 286 ! Basic XIOS declarations 287 CALL XIOS_GET_HANDLE("domain_definition",domaingroup_hdl) 288 CALL XIOS_ADD_CHILD(domaingroup_hdl,domain_hdl,YNAMGRID) 289 CALL XIOS_SET_DOMAIN_ATTR(YNAMGRID, type="rectilinear", data_dim=2) 290 ! 291 ! Compute domain size in longitude 292 ! 293 IF (MOD(NDLON,NPRGPEW)==0) THEN 294 NI=NDLON/NPRGPEW 295 IOFF=(MYSETB-1)*NI 296 ELSE 297 NI=NDLON/NPRGPEW+1 298 IOFF=(MYSETB-1)*NI 299 IF (MYSETB==NPRGPEW) NI=MOD(NDLON,NI) 300 ENDIF 301 ! 302 ! Compute evenly spaced longitudes 303 ! 304 ALLOCATE(ZLONG(NI)) 305 ZINCR=360./NDLON 306 DO I=1,NI 307 ZLONG(I)=(IOFF+I)*ZINCR 308 ENDDO 309 ! 310 write(0,*) 'i=',IOFF+1,IOFF+NI 311 CALL XIOS_SET_DOMAIN_ATTR(YNAMGRID, ni_glo=NDLON, ni=NI,ibegin=IOFF) 312 CALL XIOS_SET_DOMAIN_ATTR(YNAMGRID, lonvalue_1d=ZLONG(:)) 313 ! 314 ! Compute domain size in latitude 315 ! 316 IF (MOD(NDGLG,NPRGPNS)==0) THEN 317 NJ=NDGLG/NPRGPNS 318 JOFF=(MYSETA-1)*NJ 319 ELSE 320 NJ=NDGLG/NPRGPNS+1 321 JOFF=(MYSETA-1)*NJ 322 IF (MYSETA==NPRGPNS) NJ=MOD(NDGLG,NJ) 323 ENDIF 324 ! 325 ALLOCATE(ZLATI(NJ)) 326 ZINCR=180./NDGLG 327 DO J=1,NJ 328 ZLATI(J)=(JOFF+J)*ZINCR 329 ENDDO 330 ! 331 !write(0,*) 'j=',JOFF+1,JOFF+NJ ; call flush(0) 332 CALL XIOS_SET_DOMAIN_ATTR(YNAMGRID, nj_glo=NDGLG, nj=NJ, jbegin=JOFF) 333 CALL XIOS_SET_DOMAIN_ATTR(YNAMGRID,latvalue_1d=ZLATI(:)-90.) 334 ! 335 DEALLOCATE(ZLATI,ZLONG)!,ZLATIC,ZLONGC) 336 END SUBROUTINE MSE_XIOS_GAUSS_GRID 337 338 END PROGRAM test_unstruct_complete 339 340 341 342 343
Note: See TracChangeset
for help on using the changeset viewer.