Changeset 2690 for trunk/LMDZ.GENERIC/libf
- Timestamp:
- Jun 21, 2022, 11:05:31 AM (3 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 4 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r2663 r2690 32 32 alpha_lift, alpha_devil, qextrhor, & 33 33 igcm_h2o_ice, igcm_h2o_vap, igcm_dustbin, & 34 igcm_co2_ice, nesp, is_chim 34 igcm_co2_ice, nesp, is_chim, is_generic 35 35 use time_phylmdz_mod, only: ecritphy, iphysiq, nday 36 36 use phyetat0_mod, only: phyetat0 … … 70 70 use turb_mod, only : q2,sensibFlux,turb_resolved 71 71 use mass_redistribution_mod, only: mass_redistribution 72 use largescale_generic_mod, only: largescale_generic 72 73 #ifndef MESOSCALE 73 74 use vertical_layers_mod, only: presnivs, pseudoalt … … 295 296 ! For Atmospheric Temperatures : (K/s) 296 297 real dtlscale(ngrid,nlayer) ! Largescale routine. 298 real dtlscale_generic(ngrid,nlayer) ! largescale_generic routine. 297 299 real zdtc(ngrid,nlayer) ! Condense_co2 routine. 298 300 real zdtdif(ngrid,nlayer) ! Turbdiff/vdifc routines. … … 327 329 real dqvaplscale(ngrid,nlayer) ! Largescale routine. 328 330 real dqcldlscale(ngrid,nlayer) ! Largescale routine. 331 real dqvaplscale_generic(ngrid,nlayer) !largescale_generic routine. 332 real dqcldlscale_generic(ngrid,nlayer) !largescale_generic routine. 329 333 REAL,allocatable,save :: zdqchim(:,:,:) ! Calchim_asis routine 330 334 REAL,allocatable,save :: zdqschim(:,:) ! Calchim_asis routine … … 1542 1546 ! VI.3. Aerosol particles 1543 1547 ! ------------------------- 1548 ! Generic condensation and evaporation 1549 ! i need the tracers and to check wether it ends with _vap 1550 do iq=1,nq 1551 ! print*,"starting the generic looping" 1552 ! write(*,*)"for iq = ",iq, "is_generic = ",is_generic(iq) 1553 ! write(*,*)"noms(iq) = ",noms(iq) 1554 ! write(*,*),"noms(iq)(len(noms(iq)-2:)=",noms(iq)(len(noms(iq))-2:) 1555 !loop on tracers and check if is_generic and _vap in noms 1556 if((is_generic(iq)==1) .and. (index(noms(iq),"vap") .ne. 0)) then 1557 ! call to largescale_generic 1558 print*,"we're in the GENERIC condition" 1559 call largescale_generic(ngrid,nlayer,nq,ptimestep,pplev,pplay, & 1560 pt,pq,pdt,pdq,noms(iq),dtlscale_generic, & 1561 dqvaplscale_generic,dqcldlscale_generic) 1562 !question sur la tendance de temperature qui sort. On l'ajoute dans une variable temp 1563 ! et apres la fin de la boucle sur les tracers on l'ajouteà la tendance du pas de temps physique ? 1564 !temp_dt = temp_dt+dtlscale_generic ? 1565 pdq(1:ngrid,1:nlayer,ig) = pdq(1:ngrid,1:nlayer,ig)+dtlscale_generic(1:ngrid,1:nlayer) 1566 pdq(1:ngrid,1:nlayer,ig+1) = pdq(1:ngrid,1:nlayer,ig+1)+dqcldlscale_generic(1:ngrid,1:nlayer) 1567 !!!!huge assumption in the last line : ice tracer has index +1 of vap tracer 1568 endif ! (is_generic(iq)==1 .and. (index(noms(iq),"vap")==1)) 1569 enddo ! iq=1,nq 1570 !should I add the pdt = pdt + temp_dt ? 1544 1571 1545 1572 ! Sedimentation. -
trunk/LMDZ.GENERIC/libf/phystd/tracer_h.F90
r2543 r2690 6 6 integer, save :: nqtot ! total number of tracers 7 7 integer, save :: nesp ! number of species in the chemistry 8 integer, save :: ngt ! number of generic tracers 8 9 !$OMP THREADPRIVATE(nqtot,nesp) 9 10 … … 12 13 13 14 character*30, save, allocatable :: noms(:) ! name of the tracer 14 real, save, allocatable :: mmol(:) ! mole mass of tracer (g/mol -1)15 real, save, allocatable :: mmol(:) ! mole mass of tracer (g/mol) 15 16 real, save, allocatable :: aki(:) ! to compute coefficient of thermal concduction if photochem 16 17 real, save, allocatable :: cpi(:) ! to compute cpnew in concentration.F if photochem … … 39 40 integer, save, allocatable :: is_recomb_qotf(:) ! 1 if tracer recombination is done on-the-fly, else 0 (if 1, must have is_recomb_qset=0) 40 41 !$OMP THREADPRIVATE(is_recomb,is_recomb_qset,is_recomb_qotf) 41 42 integer, save, allocatable :: is_generic(:) ! 1 if tracer is generic, else 0 (added LT) 43 !$OMP THREADPRIVATE(is_generic) !also added by LT 42 44 ! tracer indexes: these are initialized in initracer and should be 0 if the 43 45 ! corresponding tracer does not exist … … 88 90 integer,save :: igcm_hcaer 89 91 90 92 ! generic tracer (added LT 2022) 93 integer,save :: igcm_generic_Fe_vap 94 integer,save :: igcm_generic_Fe_ice 95 integer,save :: igcm_generic_Cr_vap 96 integer,save :: igcm_generic_Cr_ice 97 integer,save :: igcm_generic_Mg_vap 98 integer,save :: igcm_generic_Mg_ice 99 integer,save :: igcm_generic_Na_vap 100 integer,save :: igcm_generic_Na_ice 101 integer,save :: igcm_generic_KCl_vap 102 integer,save :: igcm_generic_KCl_ice 103 integer,save :: igcm_generic_Mn_vap 104 integer,save :: igcm_generic_Mn_ice 105 integer,save :: igcm_generic_Zn_vap 106 integer,save :: igcm_generic_Zn_ice 91 107 92 108 ! other tracers 93 109 integer,save :: igcm_ar_n2 ! for simulations using co2 +neutral gaz 94 110 integer,save :: igcm_co2_ice ! CO2 ice 95 !$OMP THREADPRIVATE(igcm_dustbin,igcm_dust_mass,igcm_dust_number,igcm_h2o_vap,igcm_h2o_ice, & 96 !$OMP igcm_co2,igcm_co,igcm_o,igcm_o1d,igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh, & 97 !$OMP igcm_ho2,igcm_h2o2,igcm_n2,igcm_ar,igcm_ar_n2,igcm_co2_ice, & 98 !$OMP igcm_n,igcm_no,igcm_no2,igcm_n2d,igcm_ch4,igcm_ch3,igcm_ch,igcm_3ch2, & 99 !$OMP igcm_1ch2,igcm_cho,igcm_ch2o,igcm_ch3o,igcm_c,igcm_c2,igcm_c2h,igcm_c2h2, & 100 !$OMP igcm_c2h3,igcm_c2h4,igcm_c2h6,igcm_ch2co,igcm_ch3co,igcm_hcaer) 111 !$OMP THREADPRIVATE(igcm_dustbin,igcm_dust_mass,igcm_dust_number,igcm_h2o_vap,igcm_h2o_ice, & 112 !$OMP igcm_co2,igcm_co,igcm_o,igcm_o1d,igcm_o2,igcm_o3,igcm_h,igcm_h2,igcm_oh, & 113 !$OMP igcm_ho2,igcm_h2o2,igcm_n2,igcm_ar,igcm_ar_n2,igcm_co2_ice, & 114 !$OMP igcm_n,igcm_no,igcm_no2,igcm_n2d,igcm_ch4,igcm_ch3,igcm_ch,igcm_3ch2, & 115 !$OMP igcm_1ch2,igcm_cho,igcm_ch2o,igcm_ch3o,igcm_c,igcm_c2,igcm_c2h,igcm_c2h2, & 116 !$OMP igcm_c2h3,igcm_c2h4,igcm_c2h6,igcm_ch2co,igcm_ch3co,igcm_hcaer,igcm_generic_Fe_vap, & 117 !$OMP igcm_generic_Fe_ice, igcm_generic_Cr_vap,igcn_generic_Cr_ice,igcm_generic_Mg_vap, & 118 !$OMP igcm_generic_Mg_ice, igcm_generic_Na_vap,igcm_generic_Na_ice,igcm_generic_KCl_vap, & 119 !$OMP igcm_generic_KCl_ice,igcm_generic_Mn_vap,igcm_generic_Mn_ice,igcm_generic_Zn_vap, & 120 !$OMP igcm_generic_Zn_ice) 101 121 102 122 end module tracer_h
Note: See TracChangeset
for help on using the changeset viewer.