Changeset 4050 for LMDZ6/trunk/libf/phylmd
- Timestamp:
- Dec 23, 2021, 6:54:17 PM (4 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/infotrac_phy.F90
r4046 r4050 51 51 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: niadv ! equivalent dyn / physique 52 52 !$OMP THREADPRIVATE(niadv) 53 54 ! CRisi: tableaux de fils55 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: nqfils56 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: nqdesc ! nombres de fils + nombre de tous les petits fils sur toutes les générations57 INTEGER, SAVE :: nqdesc_tot58 INTEGER, ALLOCATABLE, DIMENSION(:,:), SAVE :: iqfils59 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: iqpere60 !$OMP THREADPRIVATE(nqfils,nqdesc,nqdesc_tot,iqfils,iqpere)61 53 62 54 ! conv_flg(it)=0 : convection desactivated for tracer number it … … 84 76 INTEGER, ALLOCATABLE, DIMENSION(:,:), SAVE :: iqiso ! donne indice iq en fn de (ixt,phase) 85 77 !$OMP THREADPRIVATE(iqiso) 86 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: iso_num ! donne numéro iso entre 1 et niso_possibles en fn de nqtot87 !$OMP THREADPRIVATE(iso_num)88 78 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: iso_indnum ! donne numéro iso entre 1 et niso effectif en fn de nqtot 89 79 !$OMP THREADPRIVATE(iso_indnum) 90 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: zone_num ! donne numéro de la zone de tracage en fn de nqtot91 !$OMP THREADPRIVATE(zone_num)92 INTEGER, ALLOCATABLE, DIMENSION(:), SAVE :: phase_num ! donne numéro de la zone de tracage en fn de nqtot93 !$OMP THREADPRIVATE(phase_num)94 80 INTEGER, DIMENSION(niso_possibles), SAVE :: indnum_fn_num ! donne indice entre entre 1 et niso en fonction du numéro d isotope entre 1 et niso_possibles 95 81 !$OMP THREADPRIVATE(indnum_fn_num) … … 106 92 SUBROUTINE init_infotrac_phy(nqtot_,nqo_,nbtr_,nqtottr_,nqCO2_,tracers_,type_trac_,& 107 93 niadv_,conv_flg_,pbl_flg_,solsym_,& 108 nqfils_,nqdesc_,nqdesc_tot_,iqfils_,iqpere_,&109 94 ok_isotopes_,ok_iso_verif_,ok_isotrac_,& 110 95 ok_init_iso_,niso_possibles_,tnat_,& 111 alpha_ideal_,use_iso_,iqiso_,iso_num_,& 112 iso_indnum_,zone_num_,phase_num_,& 96 alpha_ideal_,use_iso_,iqiso_,iso_indnum_,& 113 97 indnum_fn_num_,index_trac_,& 114 98 niso_,ntraceurs_zone_,ntraciso_,itr_indice_& … … 143 127 CHARACTER(len=*),INTENT(IN) :: solsym_(nbtr_) 144 128 ! Isotopes: 145 INTEGER,INTENT(IN) :: nqfils_(nqtot_)146 INTEGER,INTENT(IN) :: nqdesc_(nqtot_)147 INTEGER,INTENT(IN) :: nqdesc_tot_148 INTEGER,INTENT(IN) :: iqfils_(nqtot_,nqtot_)149 INTEGER,INTENT(IN) :: iqpere_(nqtot_)150 129 LOGICAL,INTENT(IN) :: ok_isotopes_ 151 130 LOGICAL,INTENT(IN) :: ok_iso_verif_ … … 157 136 LOGICAL,INTENT(IN) :: use_iso_(niso_possibles_) 158 137 INTEGER,INTENT(IN) :: iqiso_(ntraciso_,nqo_) 159 INTEGER,INTENT(IN) :: iso_num_(nqtot_)160 138 INTEGER,INTENT(IN) :: iso_indnum_(nqtot_) 161 INTEGER,INTENT(IN) :: zone_num_(nqtot_)162 INTEGER,INTENT(IN) :: phase_num_(nqtot_)163 139 INTEGER,INTENT(IN) :: indnum_fn_num_(niso_possibles_) 164 140 INTEGER,INTENT(IN) :: index_trac_(ntraceurs_zone_,niso_) … … 169 145 170 146 CHARACTER(LEN=30) :: modname="init_infotrac_phy" 147 INTEGER :: iq 171 148 172 149 nqtot=nqtot_ … … 176 153 nqtottr=nqtottr_ 177 154 ALLOCATE(tracers(nqtot)); tracers(:) = tracers_(:) 155 tracers(:)%isAdvected = tracers(:)%iadv > 0 156 ! tracers(:)%isH2Ofamily = delPhase(tracers(:)%gen0Name) == 'H2O' 157 tracers(:)%isH2Ofamily = [(tracers(iq)%gen0Name(1:3) == 'H2O', iq=1, nqtot)] 178 158 #ifdef CPP_StratAer 179 159 nbtr_bin=nbtr_bin_ … … 216 196 217 197 IF (ok_isotopes) THEN 218 ALLOCATE(nqfils(nqtot))219 nqfils(:)=nqfils_(:)220 ALLOCATE(nqdesc(nqtot))221 nqdesc(:)=nqdesc_(:)222 nqdesc_tot=nqdesc_tot_223 ALLOCATE(iqfils(nqtot,nqtot))224 iqfils(:,:)=iqfils_(:,:)225 ALLOCATE(iqpere(nqtot))226 iqpere(:)=iqpere_(:)227 228 198 tnat(:)=tnat_(:) 229 199 alpha_ideal(:)=alpha_ideal_(:) … … 232 202 ALLOCATE(iqiso(ntraciso,nqo)) 233 203 iqiso(:,:)=iqiso_(:,:) 234 ALLOCATE(iso_num(nqtot))235 iso_num(:)=iso_num_(:)236 204 ALLOCATE(iso_indnum(nqtot)) 237 205 iso_indnum(:)=iso_indnum_(:) 238 ALLOCATE(zone_num(nqtot))239 zone_num(:)=zone_num_(:)240 ALLOCATE(phase_num(nqtot))241 phase_num(:)=phase_num_(:)242 206 243 207 indnum_fn_num(:)=indnum_fn_num_(:) -
LMDZ6/trunk/libf/phylmd/tracco2i_mod.F90
r3857 r4050 30 30 31 31 USE dimphy 32 USE infotrac_phy 32 USE infotrac_phy, ONLY: nbtr 33 33 USE geometry_mod, ONLY: cell_area 34 34 USE carbon_cycle_mod, ONLY: id_CO2, nbcf_in, fields_in, cfname_in … … 336 336 337 337 USE dimphy 338 USE infotrac_phy338 ! USE infotrac_phy 339 339 USE geometry_mod, ONLY : cell_area 340 340 USE mod_grid_phy_lmdz -
LMDZ6/trunk/libf/phylmd/traclmdz_mod.F90
r4046 r4050 67 67 68 68 USE dimphy 69 USE infotrac_phy 69 USE infotrac_phy, ONLY: nbtr, tracers, niadv, solsym 70 70 71 71 ! Input argument … … 89 89 ! Initialization of the tracers should be done here only for those not found in the restart file. 90 90 USE dimphy 91 USE infotrac_phy 91 USE infotrac_phy, ONLY: nbtr, nqo, tracers, pbl_flg, conv_flg, niadv 92 92 USE regr_pr_comb_coefoz_m, ONLY: alloc_coefoz 93 93 USE press_coefoz_m, ONLY: press_coefoz … … 176 176 !! iiq=niadv(it+2) ! jyg 177 177 iiq=niadv(it+nqo) ! jyg 178 print*,'###'//TRIM(tracers(iiq)%name)//'###'179 print*,'###'//TRIM(strLower(tracers(iiq)%name))//'###'180 178 SELECT CASE(strLower(tracers(iiq)%name)) 181 179 CASE("rn"); id_rn = it ! radon … … 311 309 312 310 USE dimphy 313 USE infotrac_phy 311 USE infotrac_phy, ONLY: nbtr, pbl_flg, solsym 314 312 USE regr_pr_comb_coefoz_m, ONLY: regr_pr_comb_coefoz 315 313 USE o3_chem_m, ONLY: o3_chem … … 586 584 ! variable trs is written to restart file (restartphy.nc) 587 585 USE dimphy 588 USE infotrac_phy 586 USE infotrac_phy, ONLY: nbtr 589 587 590 588 REAL,DIMENSION(klon,nbtr), INTENT(OUT) :: trs_out -
LMDZ6/trunk/libf/phylmd/tracreprobus_mod.F90
r3666 r4050 12 12 13 13 USE dimphy 14 USE infotrac_phy 14 USE infotrac_phy, ONLY: nbtr, solsym 15 15 #ifdef REPROBUS 16 16 USE CHEM_REP, ONLY : pdt_rep, & ! pas de temps reprobus
Note: See TracChangeset
for help on using the changeset viewer.