Changeset 1126 for XIOS/dev/branch_yushan/src/test/test_complete_omp.f90
- Timestamp:
- 05/05/17 11:37:18 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan/src/test/test_complete_omp.f90
r1115 r1126 56 56 CALL MPI_COMM_SIZE(comm,size_loc,ierr) 57 57 58 size_loc = size *omp_get_num_threads()58 size_loc = size_loc*omp_get_num_threads() 59 59 rank = rank*omp_get_num_threads() + omp_get_thread_num() 60 60 … … 106 106 CALL xios_set_axis_attr("axis_atm",n_glo=llm ,value=lval) ; 107 107 108 109 108 CALL xios_set_domain_attr("domain_atm",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj, type='curvilinear') 110 109 CALL xios_set_domain_attr("domain_atm",data_dim=2, data_ibegin=-1, data_ni=ni+2, data_jbegin=-2, data_nj=nj+4) … … 181 180 !!! Initialisation des coordonnes globales et locales pour la grille indexee (1 point sur 2) 182 181 183 ! nb_pt=ni*nj/2 184 ! ALLOCATE(kindex(nb_pt),field_A_srf(nb_pt,llm)) 185 ! DO i=1,nb_pt 186 ! kindex(i)=2*i-1 187 ! ENDDO 188 ! field_A_srf(1:nb_pt,:)=RESHAPE(field_A_glo(ibegin+1:iend+1:2,jbegin+1:jend+1,:),(/ nb_pt,llm /)) 189 190 ! CALL xios_context_initialize("surface",comm) 191 192 ! CALL xios_get_handle("surface",ctx_hdl) 193 ! CALL xios_set_current_context(ctx_hdl) 194 195 ! CALL xios_define_calendar(type="Gregorian", & 196 ! start_date=xios_date(2000, 01, 01, 00, 00, 00), & 197 ! time_origin=xios_date(1999, 01, 01, 15, 00, 00)) 198 199 ! CALL xios_set_axis_attr("axis_srf",n_glo=llm ,value=lval) 200 ! CALL xios_set_domain_attr("domain_srf",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj, type='curvilinear') 201 ! CALL xios_set_domain_attr("domain_srf",data_dim=1, data_ibegin=0, data_ni=nb_pt) 202 ! CALL xios_set_domain_attr("domain_srf",data_i_index=kindex) 203 ! CALL xios_set_domain_attr("domain_srf",lonvalue_2D=lon,latvalue_2D=lat) 182 nb_pt=ni*nj/2 183 ALLOCATE(kindex(nb_pt),field_A_srf(nb_pt,llm)) 184 DO i=1,nb_pt 185 kindex(i)=2*i-1 186 ENDDO 187 field_A_srf(1:nb_pt,:)=RESHAPE(field_A_glo(ibegin+1:iend+1:2,jbegin+1:jend+1,:),(/ nb_pt,llm /)) 188 189 CALL xios_context_initialize("surface",comm) 190 191 192 CALL xios_get_handle("surface",ctx_hdl) 193 CALL xios_set_current_context(ctx_hdl) 194 195 CALL xios_define_calendar(type="Gregorian", & 196 start_date=xios_date(2000, 01, 01, 00, 00, 00), & 197 time_origin=xios_date(1999, 01, 01, 15, 00, 00)) 198 199 CALL xios_set_axis_attr("axis_srf",n_glo=llm ,value=lval) 200 CALL xios_set_domain_attr("domain_srf",ni_glo=ni_glo, nj_glo=nj_glo, ibegin=ibegin, ni=ni,jbegin=jbegin,nj=nj, type='curvilinear') 201 CALL xios_set_domain_attr("domain_srf",data_dim=1, data_ibegin=0, data_ni=nb_pt) 202 CALL xios_set_domain_attr("domain_srf",data_i_index=kindex) 203 CALL xios_set_domain_attr("domain_srf",lonvalue_2D=lon,latvalue_2D=lat) 204 204 205 205 !!! Cration d un nouveau champ 206 206 207 !CALL xios_get_handle("field_definition",fieldgroup_hdl)208 !CALL xios_add_child(fieldgroup_hdl,field_hdl,"field_B_srf")207 CALL xios_get_handle("field_definition",fieldgroup_hdl) 208 CALL xios_add_child(fieldgroup_hdl,field_hdl,"field_B_srf") 209 209 210 210 !!! Heritage des attributs d un autre champ 211 211 212 !CALL xios_set_attr(field_hdl,field_ref="field_A_srf",name="field_B_srf")212 CALL xios_set_attr(field_hdl,field_ref="field_A_srf",name="field_B_srf") 213 213 214 214 !!! Affectation de ce nouveau champ au fichier avec un nouveau nom 215 215 216 !CALL xios_get_handle("output_surface",file_hdl)217 !CALL xios_add_child(file_hdl,field_hdl)218 !CALL xios_set_attr(field_hdl,field_ref="field_B_srf",name="field_C_srf")216 CALL xios_get_handle("output_surface",file_hdl) 217 CALL xios_add_child(file_hdl,field_hdl) 218 CALL xios_set_attr(field_hdl,field_ref="field_B_srf",name="field_C_srf") 219 219 220 220 !!! Definition du timestep 221 221 222 !dtime%second=1800223 !CALL xios_set_timestep(timestep=dtime)222 dtime%second=1800 223 CALL xios_set_timestep(timestep=dtime) 224 224 225 225 !!! Recupration des valeurs des longitudes et de taille des domaines locaux (pour test de fonctionnalit) 226 226 227 !ni=0 ; lonvalue(:,:)=0228 !CALL xios_get_domain_attr("domain_srf",ni=ni,lonvalue_2D=lonvalue)227 ni=0 ; lonvalue(:,:)=0 228 CALL xios_get_domain_attr("domain_srf",ni=ni,lonvalue_2D=lonvalue) 229 229 230 230 !PRINT *,"ni",ni … … 233 233 !!! Fin de la definition du contexte SRF 234 234 235 ! CALL xios_close_context_definition() 236 237 ! print *, "xios_close_context_definition(surface)" 235 CALL xios_get_handle("surface",ctx_hdl) 236 CALL xios_set_current_context(ctx_hdl) 237 238 CALL xios_close_context_definition() 239 240 print *, "xios_close_context_definition(surface)", rank, size_loc 241 238 242 239 243 … … 242 246 !#################################################################################### 243 247 244 !DO ts=1,24*10245 DO ts=1,24246 247 !CALL xios_get_handle("atmosphere",ctx_hdl)248 !CALL xios_set_current_context(ctx_hdl)248 DO ts=1,24*2 249 !DO ts=1,24 250 251 CALL xios_get_handle("atmosphere",ctx_hdl) 252 CALL xios_set_current_context(ctx_hdl) 249 253 250 254 !!! Mise a jour du pas de temps … … 258 262 !!! On change de contexte 259 263 260 !CALL xios_get_handle("surface",ctx_hdl)261 !CALL xios_set_current_context(ctx_hdl)264 CALL xios_get_handle("surface",ctx_hdl) 265 CALL xios_set_current_context(ctx_hdl) 262 266 263 267 !!! Mise a jour du pas de temps 264 268 265 !CALL xios_update_calendar(ts)269 CALL xios_update_calendar(ts) 266 270 267 271 !!! On donne la valeur du champ srf 268 272 269 !CALL xios_send_field("field_A_srf",field_A_srf)273 CALL xios_send_field("field_A_srf",field_A_srf) 270 274 271 275 CALL wait_us(5000) ; … … 282 286 !!! Fin des contextes 283 287 284 285 ! CALL xios_get_handle("surface",ctx_hdl) 286 287 ! CALL xios_set_current_context(ctx_hdl) 288 289 ! CALL xios_context_finalize() 290 291 ! print *, "xios_context_finalize(surface)" 292 293 !CALL xios_get_handle("atmosphere",ctx_hdl) 294 295 !CALL xios_set_current_context(ctx_hdl) 288 CALL xios_get_handle("surface",ctx_hdl) 289 290 CALL xios_set_current_context(ctx_hdl) 296 291 297 292 CALL xios_context_finalize() 298 293 294 print *, "xios_context_finalize(surface)" 295 296 CALL xios_get_handle("atmosphere",ctx_hdl) 297 298 CALL xios_set_current_context(ctx_hdl) 299 300 CALL xios_context_finalize() 301 299 302 print *, "xios_context_finalize(atmosphere)" 300 303 … … 308 311 309 312 DEALLOCATE(lon, lat, field_A_atm, lonvalue) 310 ! DEALLOCATE(kindex, field_A_srf) 311 312 print *, "Client : xios_finalize " 313 314 !$omp master 313 DEALLOCATE(kindex, field_A_srf) 314 315 print *, "Client : xios_finalize " 316 317 !$omp barrier 318 319 !$omp master 315 320 CALL MPI_COMM_FREE(comm, ierr) 316 321 !$omp end master … … 318 323 !$omp barrier 319 324 320 print*, "MPI_COMM_FREE OK", rank, size_loc325 321 326 322 327 !$omp end parallel
Note: See TracChangeset
for help on using the changeset viewer.