Changeset 549 for XIOS/trunk/src/test/test_cs.f90
- Timestamp:
- 01/26/15 14:39:26 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/test/test_cs.f90
r537 r549 5 5 INTEGER :: size 6 6 INTEGER :: ierr 7 7 8 8 CALL MPI_INIT(ierr) 9 9 CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr) 10 10 CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr) 11 11 12 12 IF (rank<11) THEN 13 13 CALL client("client",rank,11) 14 ELSE 14 ELSE 15 15 CALL server 16 16 ENDIF 17 18 17 18 19 19 CALL MPI_FINALIZE(ierr) 20 20 21 21 END PROGRAM test_cs 22 22 … … 32 32 TYPE(xios_duration) :: dtime 33 33 TYPE(xios_context) :: ctx_hdl 34 INTEGER,PARAMETER :: ni_glo=100 35 INTEGER,PARAMETER :: nj_glo=100 36 INTEGER,PARAMETER :: llm=3 34 INTEGER,PARAMETER :: ni_glo=100 35 INTEGER,PARAMETER :: nj_glo=100 36 INTEGER,PARAMETER :: llm=3 37 37 DOUBLE PRECISION :: lval(llm)=(/1.0,2.0,3.0/) 38 38 TYPE(xios_field) :: field_hdl 39 39 TYPE(xios_fieldgroup) :: fieldgroup_hdl 40 40 TYPE(xios_file) :: file_hdl 41 42 41 42 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) … … 47 47 INTEGER :: ni,ibegin,iend,nj,jbegin,jend,data_ibegin,data_ni 48 48 INTEGER :: i,j,k,l,ts,n,nij_begin 49 50 49 50 51 51 CALL init_wait 52 53 52 53 54 54 DO j=1,nj_glo 55 55 DO i=1,ni_glo … … 63 63 ni=ni_glo ; ibegin=1 64 64 65 65 66 66 nij_begin=1 67 67 DO n=0,size-1 … … 70 70 IF (n==rank) THEN 71 71 ibegin=1 ; iend=ni_glo ; ni=iend-ibegin+1 72 jbegin=(nij_begin-1)/ni_glo +1 72 jbegin=(nij_begin-1)/ni_glo +1 73 73 jend=MOD(nij_begin-1 + data_ni-1,ni_glo) +1 74 74 nj = jend-jbegin+1 … … 79 79 ENDIF 80 80 ENDDO 81 81 82 82 83 83 ALLOCATE(lon(ni),lat(nj),field_A(data_ni,llm),lonvalue(ni*nj)) … … 92 92 field_A(k,:)=field_A_glo(i,j,:) 93 93 ENDDO 94 94 95 95 mask(:,:)=.TRUE. 96 96 mask(1:ni,6)=.TRUE. 97 97 98 98 99 99 CALL xios_initialize(id,return_comm=comm) … … 102 102 CALL xios_get_handle("test",ctx_hdl) 103 103 CALL xios_set_current_context(ctx_hdl) 104 105 CALL xios_set_context_attr("test",calendar_type="Gregorian") 106 CALL xios_set_context_attr("test",calendar_type="Gregorian") 107 CALL xios_set_context_attr("test",calendar_type="Gregorian") 108 ! CALL xios_set_context_attr("test",start_date="01/01/2000 - 00:00:00") 109 CALL xios_set_context_attr("test",calendar_type="Gregorian") 104 105 ! CALL xios_define_calendar(type="Gregorian") 106 ! CALL xios_set_start_date(start_date=xios_date(2000, 01, 01, 00, 00, 00)) 110 107 CALL xios_set_axis_attr("axis_A",size=llm ,value=lval) ; 111 108 CALL xios_set_domain_attr("domain_A",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, iend=iend,jbegin=jbegin,jend=jend) 112 ! 109 ! CALL xios_set_domain_attr("domain_A",zoom_ni=10,zoom_ibegin=5,zoom_nj=nj_glo,zoom_jbegin=1) 113 110 CALL xios_set_domain_attr("domain_A",data_dim=1, data_ibegin=data_ibegin, data_ni=data_ni) 114 111 CALL xios_set_domain_attr("domain_A",lonvalue=lon,latvalue=lat) 115 ! 112 ! CALL xios_set_domain_attr("domain_A",mask=mask) 116 113 CALL xios_set_fieldgroup_attr("field_definition",enabled=.TRUE.) 117 114 118 115 CALL xios_get_handle("field_definition",fieldgroup_hdl) 119 116 CALL xios_add_child(fieldgroup_hdl,field_hdl,"field_B") 120 117 CALL xios_set_attr(field_hdl,field_ref="field_A",name="field_B") 121 118 122 119 CALL xios_get_handle("output",file_hdl) 123 120 CALL xios_add_child(file_hdl,field_hdl) 124 121 CALL xios_set_attr(field_hdl,field_ref="field_A",name="field_C") 125 126 122 123 127 124 dtime%second=3600 128 CALL xios_set_ context_attr("test",timestep=dtime)129 125 CALL xios_set_timestep(timestep=dtime) 126 130 127 ! ni=0 ; lonvalue(:)=0 131 128 ! CALL xios_get_domain_attr("domain_A",ni=ni,lonvalue=lonvalue) 132 129 133 130 ! print *,"ni",ni 134 131 ! print *,"lonvalue",lonvalue ; 135 132 136 133 CALL xios_close_context_definition() 137 134 138 135 PRINT*,"field field_A is active ? ",xios_field_is_active("field_A") 139 136 DO ts=1,24*10 … … 142 139 CALL wait_us(5000) ; 143 140 ENDDO 144 141 145 142 CALL xios_context_finalize() 146 143 CALL xios_finalize() 147 144 148 145 END SUBROUTINE client 149 150 146 151 147 148 152 149 SUBROUTINE server 153 150 USE xios 154 151 IMPLICIT NONE 155 152 156 153 CALL xios_init_server 157 154 158 155 END SUBROUTINE server 159 160 156 161 157 158
Note: See TracChangeset
for help on using the changeset viewer.