source: CONFIG/publications/ICOLMDZORINCA_CO2_Transport_GMD_2023/INCA/build/ppsrc/INCA_SRC/xios_chem_read_restart.f90 @ 6610

Last change on this file since 6610 was 6610, checked in by acosce, 10 months ago

INCA used for ICOLMDZORINCA_CO2_Transport_GMD_2023

File size: 3.3 KB
Line 
1
2
3
4
5
6
7
8
9
10
11
12!Programme permettant de lire le fichier chemrestart.nc ou est stocké flux:
13
14 
15SUBROUTINE xios_chem_read_restart(init_source, init_tauinca, init_pizinca, init_cginca, init_ccm)
16
17  USE SPECIES_NAMES
18  USE INCA_DIM
19  USE SFLX
20  USE PRINT_INCA
21  USE MOD_INCA_PARA
22  USE MOD_INCA_TRANSFERT_PARA
23  USE XIOS_INCA
24
25  USE CHEM_MODS, ONLY : invariants, hrates_cv, h2oc
26  USE AIRPLANE_SRC, ONLY : itrop
27  USE RATE_INDEX_MOD
28  USE AEROSOL_DIAG, ONLY :  mrfname, naero_grp
29
30
31  IMPLICIT NONE
32
33  INCLUDE 'netcdf.inc'
34
35  REAL, DIMENSION(PLON,8),INTENT(OUT) :: init_source
36  REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_tauinca
37  REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_pizinca
38  REAL, DIMENSION(PLON,PLEV,naero_grp,2),INTENT(OUT) :: init_cginca
39  REAL, DIMENSION(PLON,PLEV,2),INTENT(OUT) :: init_ccm
40
41  INTEGER :: i,iretrest,ncidrest
42  logical, save :: first = .TRUE. 
43!$OMP THREADPRIVATE(first)
44  LOGICAL, SAVE :: restart = .FALSE.
45!$OMP THREADPRIVATE(restart)
46
47
48
49!$OMP MASTER
50  if (is_mpi_root .and. first) then
51     INQUIRE(FILE="chem_start.nc",EXIST=restart)
52  endif
53!$OMP END MASTER
54  call bcast(restart) 
55
56  write(lunout,*) "dans xios_chem_read_restart", restart
57
58
59
60
61  CALL xios_inca_change_context("inca")
62
63  if (first .and. restart ) then 
64!     if (grid_type == regular_lonlat) THEN
65
66        DO i=1,8
67           write(lunout,*) "source"//trim(tracnam(i))//"_read"
68           CALL xios_inca_recv_field("source"//trim(tracnam(i))//"_read", init_source(:,i)) 
69        END DO
70        write(lunout,*) 'lecture de invariants '
71       
72        ! for invariants
73        DO i=1, 12
74           CALL xios_inca_recv_field("inv_"//trim(invname(i))//"_read", invariants(:,:,i)) 
75        ENDDO
76
77!     ELSE IF (grid_type == unstructured) THEN
78!
79!        DO i=1,8
80!           write(lunout,*) "source"//trim(tracnam(i))//"_interp"
81!           CALL xios_inca_recv_field("source"//trim(tracnam(i))//"_interp", init_source(:,i))
82!        END DO
83!        write(lunout,*) 'lecture de invariants '
84!       
85!        ! for invariants
86!        DO i=1, 12
87!           CALL xios_inca_recv_field("inv_"//trim(invname(i))//"_interp", invariants(:,:,i))
88!        ENDDO
89!
90!#ifdef AER
91!        write(lunout,*) 'lecture des var pour la radiation  '
92!        ! for radiation
93!        DO i=1, naero_grp
94!           
95!           CALL xios_inca_recv_field("tau_inca1_"//trim(mrfname(i))//"_interp", init_tauinca(:,:,i,1))
96!           
97!           CALL xios_inca_recv_field("tau_inca2_"//trim(mrfname(i))//"_interp", init_tauinca(:,:,i,2))
98!           
99!           CALL xios_inca_recv_field("piz_inca1_"//trim(mrfname(i))//"_interp", init_pizinca(:,:,i,1))
100!
101!           CALL xios_inca_recv_field("piz_inca2_"//trim(mrfname(i))//"_interp", init_pizinca(:,:,i,2))
102!
103!           CALL xios_inca_recv_field("cg_inca1_"//trim(mrfname(i))//"_interp", init_cginca(:,:,i,1))
104!
105!           CALL xios_inca_recv_field("cg_inca2_"//trim(mrfname(i))//"_interp", init_cginca(:,:,i,2))
106!           
107!        ENDDO
108!        write(lunout,*) 'lecture de ccm '
109!             
110!        CALL xios_inca_recv_field("ccm1_interp", init_ccm(:,:,1))
111!        CALL xios_inca_recv_field("ccm2_interp", init_ccm(:,:,2))
112!
113!
114!#endif
115!
116!
117
118!     ENDIF
119
120     first = .FALSE. 
121  endif
122
123
124
125!  CALL xios_inca_change_context("LMDZ")
126
127
128END SUBROUTINE xios_chem_read_restart
129
130
131
132
133 
Note: See TracBrowser for help on using the repository browser.