!Programme permettant de lire le fichier chemrestart.nc ou est stocké flux: SUBROUTINE xios_chem_read_restart(init_source, init_tauinca, init_pizinca, init_cginca, init_ccm) USE SPECIES_NAMES USE INCA_DIM USE SFLX USE PRINT_INCA USE MOD_INCA_PARA USE MOD_INCA_TRANSFERT_PARA USE XIOS_INCA USE CHEM_MODS, ONLY : invariants, hrates_cv, h2oc USE AIRPLANE_SRC, ONLY : itrop USE RATE_INDEX_MOD USE AEROSOL_DIAG, ONLY : mrfname, naero_grp IMPLICIT NONE INCLUDE 'netcdf.inc' REAL, DIMENSION(PLON,8),INTENT(OUT) :: init_source REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_tauinca REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_pizinca REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_cginca REAL, DIMENSION(PLON,PLEV,2),INTENT(OUT) :: init_ccm INTEGER :: i,iretrest,ncidrest logical, save :: first = .TRUE. !$OMP THREADPRIVATE(first) LOGICAL, SAVE :: restart = .FALSE. !$OMP THREADPRIVATE(restart) !$OMP MASTER if (is_mpi_root .and. first) then INQUIRE(FILE="chem_start.nc",EXIST=restart) endif !$OMP END MASTER call bcast(restart) write(lunout,*) "dans xios_chem_read_restart", restart CALL xios_inca_change_context("inca") if (first .and. restart ) then ! if (grid_type == regular_lonlat) THEN DO i=1,8 write(lunout,*) "source"//trim(tracnam(i))//"_read" CALL xios_inca_recv_field("source"//trim(tracnam(i))//"_read", init_source(:,i)) END DO write(lunout,*) 'lecture de invariants ' ! for invariants DO i=1, 12 CALL xios_inca_recv_field("inv_"//trim(invname(i))//"_read", invariants(:,:,i)) ENDDO ! ELSE IF (grid_type == unstructured) THEN ! ! DO i=1,8 ! write(lunout,*) "source"//trim(tracnam(i))//"_interp" ! CALL xios_inca_recv_field("source"//trim(tracnam(i))//"_interp", init_source(:,i)) ! END DO ! write(lunout,*) 'lecture de invariants ' ! ! ! for invariants ! DO i=1, 12 ! CALL xios_inca_recv_field("inv_"//trim(invname(i))//"_interp", invariants(:,:,i)) ! ENDDO ! !#ifdef AER ! write(lunout,*) 'lecture des var pour la radiation ' ! ! for radiation ! DO i=1, naero_grp ! ! CALL xios_inca_recv_field("tau_inca1_"//trim(mrfname(i))//"_interp", init_tauinca(:,:,i,1)) ! ! CALL xios_inca_recv_field("tau_inca2_"//trim(mrfname(i))//"_interp", init_tauinca(:,:,i,2)) ! ! CALL xios_inca_recv_field("piz_inca1_"//trim(mrfname(i))//"_interp", init_pizinca(:,:,i,1)) ! ! CALL xios_inca_recv_field("piz_inca2_"//trim(mrfname(i))//"_interp", init_pizinca(:,:,i,2)) ! ! CALL xios_inca_recv_field("cg_inca1_"//trim(mrfname(i))//"_interp", init_cginca(:,:,i,1)) ! ! CALL xios_inca_recv_field("cg_inca2_"//trim(mrfname(i))//"_interp", init_cginca(:,:,i,2)) ! ! ENDDO ! write(lunout,*) 'lecture de ccm ' ! ! CALL xios_inca_recv_field("ccm1_interp", init_ccm(:,:,1)) ! CALL xios_inca_recv_field("ccm2_interp", init_ccm(:,:,2)) ! ! !#endif ! ! ! ENDIF first = .FALSE. endif ! CALL xios_inca_change_context("LMDZ") END SUBROUTINE xios_chem_read_restart