Changeset 31


Ignore:
Timestamp:
07/27/12 16:01:28 (12 years ago)
Author:
ymipsl
Message:

Some bug correction for parallelism

YM

Location:
codes/icosagcm/trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/nectdf_mod.F90

    r26 r31  
    22  USE netcdf 
    33 
    4 #ifndef CPP_USING_MPI 
     4!#ifndef CPP_USING_MPI 
    55  INTEGER ::  NF90_NETCDF4 
    66  INTEGER ::  NF90_MPIIO 
     
    99  INTEGER,EXTERNAL :: NF90_CREATE_PAR 
    1010  INTEGER,EXTERNAL :: NF90_DEF_VAR_CHUNKING  
    11 #endif 
     11!#endif 
    1212 
    1313END MODULE netcdf_mod 
    1414 
    15 #ifndef CPP_USING_MPI 
     15!#ifndef CPP_USING_MPI 
    1616   SUBROUTINE NF90_CREATE_PAR 
    1717   END 
     
    1919   SUBROUTINE NF90_DEF_VAR_CHUNKING 
    2020   END 
    21 #endif 
     21!#endif 
    2222   
  • codes/icosagcm/trunk/src/transfert.F90

    r26 r31  
    11MODULE transfert_mod 
    22 
    3 #ifdef CPP_USIN_MPI 
     3#ifdef CPP_USING_MPI 
    44  USE transfert_mpi_mod, ONLY : init_transfert, transfert_request=>transfert_request_mpi, req_i1,req_e1, & 
    55                                request_add_point, create_request, gather_field 
  • codes/icosagcm/trunk/src/transfert_mpi.f90

    r26 r31  
    794794 
    795795          ELSE IF (field_glo(ind_glo)%ndim==4) THEN 
    796             CALL MPI_IRECV(field_glo(ind_glo)%rval4d,size(field_glo(ind_glo)%rval3d) , MPI_REAL8 ,   & 
     796            CALL MPI_IRECV(field_glo(ind_glo)%rval4d,size(field_glo(ind_glo)%rval4d) , MPI_REAL8 ,   & 
    797797                         domglo_rank(ind_glo),domglo_loc_ind(ind_glo), comm_icosa, mpi_req(ireq), ierr) 
    798798          ENDIF 
  • codes/icosagcm/trunk/src/write_field.f90

    r29 r31  
    649649          ENDDO 
    650650!           DO l=1,size(field(ind)%rval3d,2) 
    651             status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(1),Field_val3d,start=(/ displ+ncell,1,FieldIndex(Index) /),   & 
    652                                count=(/n,size(field(ind)%rval3d,2),1 /)) 
     651            status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(1),Field_val3d,  & 
     652                                start=(/ displ+ncell,1,FieldIndex(Index) /), count=(/n,size(field(ind)%rval3d,2),1 /)) 
    653653!           ENDDO 
    654654          DEALLOCATE(field_val3d) 
     
    669669             ENDDO 
    670670!            DO l=1,size(field(ind)%rval4d,2) 
    671             status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(q),Field_val3d(:,l),start=(/ displ+ncell,l,FieldIndex(Index) /),  & 
    672                                count=(/n,size(field(ind)%rval4d,2),1 /)) 
     671            status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(q),Field_val3d(:,l), & 
     672                                start=(/ displ+ncell,l,FieldIndex(Index) /), count=(/n,size(field(ind)%rval4d,2),1 /)) 
    673673!            ENDDO 
    674674            DEALLOCATE(field_val3d) 
     
    747747          ENDDO 
    748748!           DO l=1,size(field(ind)%rval3d,2) 
    749            status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(1),Field_val3d,start=(/ displ+ncell,1,FieldIndex(Index) /),   & 
    750                                count=(/n,size(field(ind)%rval3d,2),1 /)) 
     749           status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(1),Field_val3d,    & 
     750                               start=(/ displ+ncell,1,FieldIndex(Index) /), count=(/n,size(field(ind)%rval3d,2),1 /)) 
    751751!           ENDDO 
    752752          DEALLOCATE(field_val3d) 
     
    774774!            DO l=1,size(field(ind)%rval4d,2) 
    775775 
    776             status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(q),Field_val3d,start=(/ displ+ncell,1,FieldIndex(Index) /),   & 
    777                                 count=(/n,size(field(ind)%rval4d,2),1 /)) 
     776            status=NF90_PUT_VAR(FieldId(Index),FieldVarId(index)%nc_id(q),Field_val3d,  & 
     777                                start=(/ displ+ncell,1,FieldIndex(Index) /), count=(/n,size(field(ind)%rval4d,2),1 /)) 
    778778!            ENDDO 
    779779            DEALLOCATE(field_val3d) 
     
    15231523          status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(1)) 
    15241524          status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat") 
    1525           status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(1), NF90_CHUNKED, (/ncell_tot,size(field(ind_b)%rval3d,2),1/)) 
     1525          status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(1), NF90_CHUNKED,   & 
     1526                                         (/ncell_tot,size(field(ind_b)%rval3d,2),1/)) 
    15261527        ELSE IF (Field(ind_b)%ndim==4) THEN 
    15271528          DO i=1,FieldVarId(NbField)%size 
     
    15291530                                  FieldVarId(NbField)%nc_id(i)) 
    15301531            status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(i),"coordinates","lon lat") 
    1531             status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(q), NF90_CHUNKED, (/ncell_tot,size(field(ind_b)%rval4d,2),1/)) 
     1532            status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(q), NF90_CHUNKED,   & 
     1533                                           (/ncell_tot,size(field(ind_b)%rval4d,2),1/)) 
    15321534          ENDDO         
    15331535        ENDIF  
     
    16441646          status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(1)) 
    16451647          status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat") 
    1646           status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(1), NF90_CHUNKED, (/ncell_tot,size(field(ind_b)%rval3d,2),1/)) 
     1648          status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(1), NF90_CHUNKED,   & 
     1649                                         (/ncell_tot,size(field(ind_b)%rval3d,2),1/)) 
    16471650        ELSE IF (Field(ind_b)%ndim==4) THEN 
    16481651          DO q=1,FieldVarId(NbField)%size 
     
    16501653                                  (/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(q)) 
    16511654            status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(q),"coordinates","lon lat") 
    1652            status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(q), NF90_CHUNKED, (/ncell_tot,size(field(ind_b)%rval4d,2),1/)) 
     1655           status = NF90_DEF_VAR_CHUNKING(ncid, FieldVarId(NbField)%nc_id(q), NF90_CHUNKED, & 
     1656                                          (/ncell_tot,size(field(ind_b)%rval4d,2),1/)) 
    16531657          ENDDO         
    16541658        ENDIF  
Note: See TracChangeset for help on using the changeset viewer.