Changeset 1621
- Timestamp:
- Oct 25, 2016, 9:23:21 AM (8 years ago)
- Location:
- trunk
- Files:
-
- 9 added
- 75 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DOC/chantiers/commit_importants.log
r1592 r1621 1883 1883 * misc: 1884 1884 - added slopes_m.F90 and regr1_conserv_m.F90 used by Earth model 1885 1886 ********************** 1887 **** commit_v1621 **** 1888 ********************** 1889 Ehouarn: Further work on full dynamics/physics separation. 1890 1891 LMDZ.COMMON: 1892 - added phy_common/vertical_layers_mod.F90 to store information on vertical 1893 grid. This is where routines in the physics should get the information. 1894 - The contents of vertical_layers_mod intialized via 1895 dynphy_lonlat/inigeomphy_mod.F90. 1896 1897 LMDZ.MARS: 1898 - physics now completely decoupled from dynamics; the physics package 1899 may now be compiled as a library (-libphy option of makelmdz_fcm). 1900 - created an "ini_tracer_mod" routine in module "tracer_mod" for a cleaner 1901 initialization of the later. 1902 - removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) 1903 from diagfi.nc and stats.nc outputs as these informations are not available 1904 in the physics. 1905 1906 LMDZ.GENERIC: 1907 - physics now completely decoupled from dynamics; the physics package 1908 may now be compiled as a library (-libphy option of makelmdz_fcm). 1909 - added nqtot to tracer_h.F90. 1910 - removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) 1911 from diagfi.nc and stats.nc outputs as these informations are not available 1912 in the physics. 1913 1914 LMDZ.VENUS: 1915 - physics now completely decoupled from dynamics; the physics package 1916 may now be compiled as a library (-libphy option of makelmdz_fcm). 1917 - added infotrac_phy.F90 to store information on tracers in the physics. 1918 Initialized via iniphysiq. 1919 - added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the 1920 physics. Initialized via iniphysiq. IMPORTANT: there are some hard-coded 1921 constants! These should match what is in cpdet_mod.F90 in the dynamics. 1922 - got rid of references to moyzon_mod module within the physics. The 1923 required variables (tmoy, plevmoy) are passed to the physics as arguments 1924 to physiq. 1925 1926 LMDZ.TITAN: 1927 - added infotrac_phy.F90 to store information on tracers in the physics. 1928 Initialized via iniphysiq. 1929 - added cpdet_phy_mod.F90 to store t2tpot etc. functions to be used in the 1930 physics. 1931 - Extra work required to completely decouple physics and dynamics: moyzon_mod 1932 should be cleaned up and information passed from dynamics to physics as 1933 as arguments. Likewise moyzon_ch and moyzon_mu should not be queried from 1934 logic_mod (which is in the dynamics). 1935 -
trunk/LMDZ.COMMON/libf/dynphy_lonlat/inigeomphy_mod.F90
r1573 r1621 21 21 USE mod_interface_dyn_phys, ONLY : init_interface_dyn_phys 22 22 USE nrtype, ONLY: pi 23 USE comvert_mod, ONLY: preff, ap, bp, aps, bps, presnivs, & 24 scaleheight, pseudoalt 25 USE vertical_layers_mod, ONLY: init_vertical_layers 23 26 IMPLICIT NONE 24 27 … … 213 216 airefi,cufi,cvfi) 214 217 218 ! copy over preff , ap(), bp(), etc 219 CALL init_vertical_layers(nlayer,preff,scaleheight, & 220 ap,bp,aps,bps,presnivs,pseudoalt) 221 215 222 !$OMP END PARALLEL 216 223 -
trunk/LMDZ.COMMON/libf/dynphy_lonlat/phytitan/iniphysiq_mod.F90
r1573 r1621 14 14 15 15 USE temps_mod, ONLY: annee_ref, day_ref, day_ini, day_end 16 USE comconst_mod, ONLY: cpp 17 USE cpdet_phy_mod, ONLY: init_cpdet_phy 18 USE infotrac, ONLY: nqtot, tname, ttext 19 USE logic_mod, ONLY: iflag_trac 20 USE infotrac_phy, ONLY: init_infotrac_phy 16 21 USE time_phylmdz_mod, ONLY: init_time 17 22 USE inigeomphy_mod, ONLY: inigeomphy … … 73 78 ! Initialize some physical constants 74 79 call suphec 80 81 ! Initialize cpdet_phy module 82 call init_cpdet_phy(cpp) 75 83 76 84 ! Initialize some "temporal and calendar" related variables 77 85 CALL init_time(annee_ref,day_ref,day_ini,day_end,nday,ptimestep) 86 87 ! Initialize tracers in physics 88 CALL init_infotrac_phy(iflag_trac,nqtot,tname,ttext) 78 89 79 90 !$OMP END PARALLEL -
trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/callphysiq_mod.F90
r1576 r1621 21 21 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat 22 22 USE physiq_mod, ONLY: physiq 23 USE moyzon_mod, ONLY: plevmoy,tmoy ! planetary mean values to send to physics 23 24 IMPLICIT NONE 24 25 … … 86 87 zqfi_omp, & 87 88 flxwfi_omp, & 89 plevmoy, & ! planet-averaged mean pressure (Pa) at interfaces 90 tmoy, & ! planet-averaged mean temperature (K) at mid-layers 88 91 zdufi_omp, & 89 92 zdvfi_omp, & -
trunk/LMDZ.COMMON/libf/dynphy_lonlat/phyvenus/iniphysiq_mod.F90
r1573 r1621 14 14 15 15 USE temps_mod, ONLY: annee_ref, day_ref, day_ini, day_end 16 USE comconst_mod, ONLY: nu_venus, t0_venus 17 USE cpdet_phy_mod, ONLY: init_cpdet_phy 18 USE infotrac, ONLY: nqtot, tname, ttext 19 USE logic_mod, ONLY: iflag_trac 20 USE infotrac_phy, ONLY: init_infotrac_phy 16 21 USE time_phylmdz_mod, ONLY: init_time 17 22 USE inigeomphy_mod, ONLY: inigeomphy … … 73 78 call suphec 74 79 80 ! Initialize cpdet_phy module 81 call init_cpdet_phy(pcpp,nu_venus,t0_venus) 82 75 83 ! Initialize some "temporal and calendar" related variables 76 84 CALL init_time(annee_ref,day_ref,day_ini,day_end,ptimestep) 85 86 ! Initialize tracers in physics 87 CALL init_infotrac_phy(iflag_trac,nqtot,tname,ttext) 77 88 78 89 !$OMP END PARALLEL -
trunk/LMDZ.GENERIC/README
r1600 r1621 1262 1262 should not return the maximum index (leads to out-of-bounds index use in 1263 1263 the caller). 1264 1265 == 25/10/2016 == EM 1266 Updates for full physics/dynamics separation: 1267 - introduced module vertical_layers_mod.F90 in phy_common to store information 1268 about the vertical grid to be used in the physics. Routines in the physics 1269 should "use vertical_layers_mod" and not "use comvert_mod". 1270 - added nqtot to tracer_h.F90. Always "use tracer_h" in physics instead of 1271 infotrac (which is in the dynamics). 1272 - removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) 1273 from diagfi.nc and stats.nc outputs as these informations are not available 1274 in the physics. 1275 - added scalheight (atmospheric scale height) in comvert_mod. 1276 -
trunk/LMDZ.GENERIC/libf/dyn3d/comvert_mod.F90
r1422 r1621 10 10 ! Mars Ce qui suit vient de gcm 11 11 REAL sig(llm+1),ds(llm),aps(llm),bps(llm),pseudoalt(llm) 12 REAL scaleheight ! atmospheric scale height (km) 12 13 13 14 END MODULE comvert_mod -
trunk/LMDZ.GENERIC/libf/dyn3d/disvert.F
r1422 r1621 5 5 USE callkeys_mod, ONLY: kastprof,pceil 6 6 USE comvert_mod, ONLY: ap,bp,sig,nivsigs,nivsig,pa,preff, 7 . aps,bps,presnivs,pseudoalt 7 . aps,bps,presnivs,pseudoalt,scaleheight 8 8 9 9 c Auteur : F. Forget Y. Wanherdrick, P. Levan … … 31 31 INTEGER l,ll 32 32 REAL snorm 33 REAL alpha,beta,gama,delta,deltaz, h,quoi,quand33 REAL alpha,beta,gama,delta,deltaz,quoi,quand 34 34 REAL zsig(llm) 35 35 INTEGER np,ierr … … 108 108 PRINT*,'****************************' 109 109 110 READ(99,*) h110 READ(99,*) scaleheight 111 111 do l=1,llm 112 112 read(99,*) zsig(l) … … 117 117 if(autozlevs)then 118 118 open(91,file="z2sig.def",form='formatted') 119 read(91,*) h119 read(91,*) scaleheight 120 120 DO l=1,llm-2 121 121 read(91,*) Hmax … … 126 126 print*,'Auto-shifting h in disvert.F to:' 127 127 ! h = Hmax / log(psurf/100.0) 128 h= Hmax / log(psurf/pceil)129 print*,'h = ', h,' km'128 scaleheight = Hmax / log(psurf/pceil) 129 print*,'h = ',scaleheight,' km' 130 130 endif 131 131 132 132 sig(1)=1 133 133 do l=2,llm 134 sig(l) = 0.5 * ( exp(-zsig(l)/h) + exp(-zsig(l-1)/h) ) 134 sig(l) = 0.5 * ( exp(-zsig(l)/scaleheight) + 135 & exp(-zsig(l-1)/scaleheight) ) 135 136 end do 136 137 sig(llm+1)=0 … … 223 224 DO l = 1, llm 224 225 presnivs(l) = aps(l)+bps(l)*preff 225 pseudoalt(l) = - h*log(presnivs(l)/preff)226 pseudoalt(l) = -scaleheight*log(presnivs(l)/preff) 226 227 ENDDO 227 228 -
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/inigeomphy_mod.F90
r1573 r1621 21 21 USE mod_interface_dyn_phys, ONLY : init_interface_dyn_phys 22 22 USE nrtype, ONLY: pi 23 USE comvert_mod, ONLY: preff, ap, bp, aps, bps, presnivs, & 24 scaleheight, pseudoalt 25 USE vertical_layers_mod, ONLY: init_vertical_layers 23 26 IMPLICIT NONE 24 27 … … 213 216 airefi,cufi,cvfi) 214 217 218 ! copy over preff , ap(), bp(), etc 219 CALL init_vertical_layers(nlayer,preff,scaleheight, & 220 ap,bp,aps,bps,presnivs,pseudoalt) 221 215 222 !$OMP END PARALLEL 216 223 -
trunk/LMDZ.GENERIC/libf/phystd/dyn1d/rcm1d.F
r1576 r1621 24 24 use callkeys_mod, only: tracer,check_cpp_match,rings_shadow, 25 25 & specOLR,water,pceil,ok_slab_ocean 26 USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff 26 USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff, sig, 27 & presnivs,pseudoalt,scaleheight 28 USE vertical_layers_mod, ONLY: init_vertical_layers 27 29 USE logic_mod, ONLY: hybrid,autozlevs 28 30 use regular_lonlat_mod, only: init_regular_lonlat … … 502 504 & (/0.,0.,0.,0./),(/0.,0.,0.,0./), 503 505 & cell_area) 506 ! Ehouarn: init_vertial_layers called later (because disvert not called yet) 507 ! call init_vertical_layers(nlayer,preff,scaleheight, 508 ! & ap,bp,aps,bps,presnivs,pseudoalt) 504 509 call init_dimphy(1,nlayer) ! Initialize dimphy module 505 510 call ini_planete_mod(nlayer,preff,ap,bp) … … 734 739 735 740 call disvert 741 ! now that disvert has been called, initialize module vertical_layers_mod 742 call init_vertical_layers(nlayer,preff,scaleheight, 743 & ap,bp,aps,bps,presnivs,pseudoalt) 736 744 737 745 if(.not.autozlevs)then -
trunk/LMDZ.GENERIC/libf/phystd/inistats.F
r1531 r1621 3 3 use statto_mod, only: istats,istime 4 4 use mod_phys_lmdz_para, only : is_master 5 USE comvert_mod, ONLY: ap,bp,aps,bps,preff,pseudoalt,presnivs 6 USE comconst_mod, ONLY: pi 5 USE vertical_layers_mod, ONLY: ap,bp,aps,bps,preff, 6 & pseudoalt,presnivs 7 USE nrtype, ONLY: pi 7 8 USE time_phylmdz_mod, ONLY: daysec,dtphys 8 9 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg -
trunk/LMDZ.GENERIC/libf/phystd/initracer.F
r1542 r1621 46 46 c----------------------------------------------------------------------- 47 47 48 nqtot=nq 48 49 !! we allocate once for all arrays in common in tracer_h.F90 49 50 !! (supposedly those are not used before call to initracer) -
trunk/LMDZ.GENERIC/libf/phystd/iniwrite.F
r1531 r1621 3 3 use comsoil_h, only: mlayer, nsoilmx 4 4 USE comcstfi_mod, only: g, mugaz, omeg, rad, rcp, pi 5 USE comvert_mod, ONLY: ap,bp,aps,bps,pseudoalt6 USE logic_mod, ONLY: fxyhypb,ysinus7 USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy5 USE vertical_layers_mod, ONLY: ap,bp,aps,bps,pseudoalt 6 ! USE logic_mod, ONLY: fxyhypb,ysinus 7 ! USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy 8 8 USE time_phylmdz_mod, ONLY: daysec, dtphys 9 USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang09 ! USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0 10 10 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg 11 11 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev … … 75 75 tab_cntrl(10) = daysec 76 76 tab_cntrl(11) = dtphys 77 tab_cntrl(12) = etot078 tab_cntrl(13) = ptot079 tab_cntrl(14) = ztot080 tab_cntrl(15) = stot081 tab_cntrl(16) = ang077 ! tab_cntrl(12) = etot0 78 ! tab_cntrl(13) = ptot0 79 ! tab_cntrl(14) = ztot0 80 ! tab_cntrl(15) = stot0 81 ! tab_cntrl(16) = ang0 82 82 c 83 83 c .......... P.Le Van ( ajout le 8/04/96 ) ......... 84 84 c ..... parametres pour le zoom ...... 85 tab_cntrl(17) = clon86 tab_cntrl(18) = clat87 tab_cntrl(19) = grossismx88 tab_cntrl(20) = grossismy85 ! tab_cntrl(17) = clon 86 ! tab_cntrl(18) = clat 87 ! tab_cntrl(19) = grossismx 88 ! tab_cntrl(20) = grossismy 89 89 c 90 90 c ..... ajout le 6/05/97 et le 15/10/97 ....... 91 91 c 92 IF ( fxyhypb ) THEN93 tab_cntrl(21) = 1.94 tab_cntrl(22) = dzoomx95 tab_cntrl(23) = dzoomy96 ELSE97 tab_cntrl(21) = 0.98 tab_cntrl(22) = dzoomx99 tab_cntrl(23) = dzoomy100 tab_cntrl(24) = 0.101 IF( ysinus ) tab_cntrl(24) = 1.102 ENDIF92 ! IF ( fxyhypb ) THEN 93 ! tab_cntrl(21) = 1. 94 ! tab_cntrl(22) = dzoomx 95 ! tab_cntrl(23) = dzoomy 96 ! ELSE 97 ! tab_cntrl(21) = 0. 98 ! tab_cntrl(22) = dzoomx 99 ! tab_cntrl(23) = dzoomy 100 ! tab_cntrl(24) = 0. 101 ! IF( ysinus ) tab_cntrl(24) = 1. 102 ! ENDIF 103 103 104 104 c ......................................................... -
trunk/LMDZ.GENERIC/libf/phystd/iniwrite_specIR.F
r1531 r1621 5 5 use comcstfi_mod, only: rad, omeg, g, mugaz, rcp, pi 6 6 use time_phylmdz_mod, only: daysec, dtphys 7 USE logic_mod, ONLY: fxyhypb,ysinus8 USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy9 USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang07 ! USE logic_mod, ONLY: fxyhypb,ysinus 8 ! USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy 9 ! USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0 10 10 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg 11 11 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev … … 77 77 tab_cntrl(10) = daysec 78 78 tab_cntrl(11) = dtphys 79 tab_cntrl(12) = etot080 tab_cntrl(13) = ptot081 tab_cntrl(14) = ztot082 tab_cntrl(15) = stot083 tab_cntrl(16) = ang079 ! tab_cntrl(12) = etot0 80 ! tab_cntrl(13) = ptot0 81 ! tab_cntrl(14) = ztot0 82 ! tab_cntrl(15) = stot0 83 ! tab_cntrl(16) = ang0 84 84 c 85 85 c .......... P.Le Van ( ajout le 8/04/96 ) ......... 86 86 c ..... parametres pour le zoom ...... 87 tab_cntrl(17) = clon88 tab_cntrl(18) = clat89 tab_cntrl(19) = grossismx90 tab_cntrl(20) = grossismy87 ! tab_cntrl(17) = clon 88 ! tab_cntrl(18) = clat 89 ! tab_cntrl(19) = grossismx 90 ! tab_cntrl(20) = grossismy 91 91 c 92 92 c ..... ajout le 6/05/97 et le 15/10/97 ....... 93 93 c 94 IF ( fxyhypb ) THEN95 tab_cntrl(21) = 1.96 tab_cntrl(22) = dzoomx97 tab_cntrl(23) = dzoomy98 ELSE99 tab_cntrl(21) = 0.100 tab_cntrl(22) = dzoomx101 tab_cntrl(23) = dzoomy102 tab_cntrl(24) = 0.103 IF( ysinus ) tab_cntrl(24) = 1.104 ENDIF94 ! IF ( fxyhypb ) THEN 95 ! tab_cntrl(21) = 1. 96 ! tab_cntrl(22) = dzoomx 97 ! tab_cntrl(23) = dzoomy 98 ! ELSE 99 ! tab_cntrl(21) = 0. 100 ! tab_cntrl(22) = dzoomx 101 ! tab_cntrl(23) = dzoomy 102 ! tab_cntrl(24) = 0. 103 ! IF( ysinus ) tab_cntrl(24) = 1. 104 ! ENDIF 105 105 106 106 c ......................................................... -
trunk/LMDZ.GENERIC/libf/phystd/iniwrite_specVI.F
r1531 r1621 5 5 use comcstfi_mod, only: rad, omeg, g, mugaz, rcp, pi 6 6 use time_phylmdz_mod, only: daysec, dtphys 7 USE logic_mod, ONLY: fxyhypb,ysinus8 USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy9 USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang07 ! USE logic_mod, ONLY: fxyhypb,ysinus 8 ! USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy 9 ! USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0 10 10 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg 11 11 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev … … 77 77 tab_cntrl(10) = daysec 78 78 tab_cntrl(11) = dtphys 79 tab_cntrl(12) = etot080 tab_cntrl(13) = ptot081 tab_cntrl(14) = ztot082 tab_cntrl(15) = stot083 tab_cntrl(16) = ang079 ! tab_cntrl(12) = etot0 80 ! tab_cntrl(13) = ptot0 81 ! tab_cntrl(14) = ztot0 82 ! tab_cntrl(15) = stot0 83 ! tab_cntrl(16) = ang0 84 84 c 85 85 c .......... P.Le Van ( ajout le 8/04/96 ) ......... 86 86 c ..... parametres pour le zoom ...... 87 tab_cntrl(17) = clon88 tab_cntrl(18) = clat89 tab_cntrl(19) = grossismx90 tab_cntrl(20) = grossismy87 ! tab_cntrl(17) = clon 88 ! tab_cntrl(18) = clat 89 ! tab_cntrl(19) = grossismx 90 ! tab_cntrl(20) = grossismy 91 91 c 92 92 c ..... ajout le 6/05/97 et le 15/10/97 ....... 93 93 c 94 IF ( fxyhypb ) THEN95 tab_cntrl(21) = 1.96 tab_cntrl(22) = dzoomx97 tab_cntrl(23) = dzoomy98 ELSE99 tab_cntrl(21) = 0.100 tab_cntrl(22) = dzoomx101 tab_cntrl(23) = dzoomy102 tab_cntrl(24) = 0.103 IF( ysinus ) tab_cntrl(24) = 1.104 ENDIF94 ! IF ( fxyhypb ) THEN 95 ! tab_cntrl(21) = 1. 96 ! tab_cntrl(22) = dzoomx 97 ! tab_cntrl(23) = dzoomy 98 ! ELSE 99 ! tab_cntrl(21) = 0. 100 ! tab_cntrl(22) = dzoomx 101 ! tab_cntrl(23) = dzoomy 102 ! tab_cntrl(24) = 0. 103 ! IF( ysinus ) tab_cntrl(24) = 1. 104 ! ENDIF 105 105 106 106 c ......................................................... -
trunk/LMDZ.GENERIC/libf/phystd/iostart.F90
r1315 r1621 467 467 USE mod_grid_phy_lmdz, only: klon_glo 468 468 USE dimphy, only: klev, klevp1 469 USE infotrac, only: nqtot469 USE tracer_h, only: nqtot 470 470 USE comsoil_h, only: nsoilmx 471 471 USE slab_ice_h, only: noceanmx -
trunk/LMDZ.GENERIC/libf/phystd/phyetat0.F90
r1493 r1621 5 5 6 6 7 USE infotrac, ONLY: tname7 USE tracer_h, ONLY: noms 8 8 USE surfdat_h, only: phisfi, albedodat, zmea, zstd, zsig, zgam, zthe 9 9 use iostart, only: nid_start, open_startphy, close_startphy, & … … 375 375 if (nq.ge.1) then 376 376 do iq=1,nq 377 txt= tname(iq)377 txt=noms(iq) 378 378 379 379 !! There was a bug here. MT2015. -
trunk/LMDZ.GENERIC/libf/phystd/phyredem.F90
r1543 r1621 141 141 use iostart, only : open_restartphy, close_restartphy, & 142 142 put_var, put_field 143 use infotrac, only: tname143 use tracer_h, only: noms 144 144 use slab_ice_h, only: noceanmx 145 145 use callkeys_mod, only: ok_slab_ocean … … 207 207 if (nq>0) then 208 208 do iq=1,nq 209 call put_field( tname(iq),"tracer on surface",qsurf(:,iq))209 call put_field(noms(iq),"tracer on surface",qsurf(:,iq)) 210 210 enddo 211 211 endif ! of if (nq>0) -
trunk/LMDZ.GENERIC/libf/phystd/tracer_h.F90
r1315 r1621 3 3 4 4 implicit none 5 6 ! nqtot : total number of tracers 7 INTEGER, SAVE :: nqtot 8 !$OMP THREADPRIVATE(nqtot) 5 9 6 10 character*20, DIMENSION(:), ALLOCATABLE :: noms ! name of the tracer -
trunk/LMDZ.MARS/README
r1617 r1621 2347 2347 tracer_mod.F90 (added some variables needed by CO2 microphysics) 2348 2348 updaterad.F90 (added a routine for CO2 clouds) 2349 2350 == 25/10/2016 == EM 2351 Updates for full physics/dynamics separation: 2352 - introduced module vertical_layers_mod.F90 in phy_common to store information 2353 about the vertical grid to be used in the physics. Routines in the physics 2354 should "use vertical_layers_mod" and not "use comvert_mod". 2355 - created an "ini_tracer_mod" routine in module "tracer_mod" for a cleaner 2356 initialization of the later. Module tracer_mod should be used in the 2357 physics, not infotrac (belongs to the dynamics). 2358 - removed some purely dynamics-related outputs (etot0, zoom parameters, etc.) 2359 from diagfi.nc and stats.nc outputs as these informations are not available 2360 in the physics. 2361 - added scalheight (atmospheric scale height) in comvert_mod 2362 -
trunk/LMDZ.MARS/libf/aeronomars/inichim_newstart.F90
r1528 r1621 3 3 4 4 use tracer_mod 5 USE comvert_mod, ONLY: aps,bps5 USE vertical_layers_mod, ONLY: aps,bps 6 6 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev 7 7 implicit none -
trunk/LMDZ.MARS/libf/dyn3d/comvert_mod.F90
r1422 r1621 10 10 ! Mars Ce qui suit vient de gcm 11 11 REAL sig(llm+1),ds(llm),aps(llm),bps(llm),pseudoalt(llm) 12 REAL scaleheight ! atmospheric scale height (km) 12 13 13 14 END MODULE comvert_mod -
trunk/LMDZ.MARS/libf/dyn3d/disvert.F
r1422 r1621 5 5 6 6 USE comvert_mod, ONLY: ap,bp,sig,nivsigs,nivsig,pa,preff, 7 . aps,bps,presnivs,pseudoalt 7 . aps,bps,presnivs,pseudoalt,scaleheight 8 8 USE comconst_mod, ONLY: kappa,pi 9 9 USE logic_mod, ONLY: hybrid … … 25 25 INTEGER l,ll 26 26 REAL snorm 27 REAL alpha,beta,gama,delta,deltaz, h,quoi,quand27 REAL alpha,beta,gama,delta,deltaz,quoi,quand 28 28 REAL zsig(llm) 29 29 INTEGER np,ierr … … 70 70 PRINT*,'WARNING Lecture de esasig.def' 71 71 PRINT*,'*****************************' 72 READ(99,*) h72 READ(99,*) scaleheight 73 73 READ(99,*) dz0 74 74 READ(99,*) dz1 … … 76 76 CLOSE(99) 77 77 78 dz0=dz0/ h79 dz1=dz1/ h78 dz0=dz0/scaleheight 79 dz1=dz1/scaleheight 80 80 81 81 sig1=(1.-dz1)/tanh(.5*(llm-1)/nhaut) … … 120 120 PRINT*,'****************************' 121 121 122 READ(99,*) h122 READ(99,*) scaleheight 123 123 do l=1,llm 124 124 read(99,*) zsig(l) … … 128 128 sig(1) =1 129 129 do l=2,llm 130 sig(l) = 0.5 * ( exp(-zsig(l)/h) + exp(-zsig(l-1)/h) ) 130 sig(l) = 0.5 * ( exp(-zsig(l)/scaleheight) + 131 & exp(-zsig(l-1)/scaleheight) ) 131 132 end do 132 133 sig(llm+1) =0 -
trunk/LMDZ.MARS/libf/dynphy_lonlat/inigeomphy_mod.F90
r1573 r1621 21 21 USE mod_interface_dyn_phys, ONLY : init_interface_dyn_phys 22 22 USE nrtype, ONLY: pi 23 USE comvert_mod, ONLY: preff, ap, bp, aps, bps, presnivs, & 24 scaleheight, pseudoalt 25 USE vertical_layers_mod, ONLY: init_vertical_layers 23 26 IMPLICIT NONE 24 27 … … 213 216 airefi,cufi,cvfi) 214 217 218 ! copy over preff , ap(), bp(), etc 219 CALL init_vertical_layers(nlayer,preff,scaleheight, & 220 ap,bp,aps,bps,presnivs,pseudoalt) 221 215 222 !$OMP END PARALLEL 216 223 -
trunk/LMDZ.MARS/libf/dynphy_lonlat/phymars/iniphysiq_mod.F90
r1573 r1621 10 10 prad,pg,pr,pcpp,iflag_phys) 11 11 12 use infotrac, only : nqtot ! number of advected tracers 12 use infotrac, only : nqtot, & ! number of advected tracers 13 tname ! tracer names 13 14 use comgeomfi_h, only: ini_fillgeom 14 15 use temps_mod, only: day_ini, hour_ini … … 68 69 call init_dimphy(klon_omp,nlayer) 69 70 70 call phys_state_var_init(klon_omp,nlayer,nqtot, &71 call phys_state_var_init(klon_omp,nlayer,nqtot,tname, & 71 72 day_ini,hour_ini,punjours,ptimestep, & 72 73 prad,pg,pr,pcpp) -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F
r1576 r1621 21 21 & ecritphy, iphysiq 22 22 use dimradmars_mod, only: tauscaling,tauvis 23 USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff,sig 23 USE comvert_mod, ONLY: ap,bp,aps,bps,pa,preff,sig, 24 & presnivs,pseudoalt,scaleheight 25 USE vertical_layers_mod, ONLY: init_vertical_layers 24 26 USE logic_mod, ONLY: hybrid 25 27 use physics_distribution_mod, only: init_physics_distribution … … 49 51 c======================================================================= 50 52 51 #include "dimensions.h"53 include "dimensions.h" 52 54 integer, parameter :: ngrid = 1 !(2+(jjm-1)*iim - 1/jjm) 53 55 integer, parameter :: nlayer = llm … … 58 60 !#include "comsoil.h" 59 61 !#include "comdiurn.h" 60 #include "callkeys.h"62 include "callkeys.h" 61 63 !#include "comsaison.h" 62 64 !#include "control.h" 63 #include "netcdf.inc"64 #include "comg1d.h"65 include "netcdf.inc" 66 include "comg1d.h" 65 67 !#include "advtrac.h" 66 68 … … 494 496 & (/0.,0.,0.,0./),(/0.,0.,0.,0./), 495 497 & cell_area) 498 ! Ehouarn: init_vertial_layers called later (because disvert not called yet) 499 ! call init_vertical_layers(nlayer,preff,scaleheight, 500 ! & ap,bp,aps,bps,presnivs,pseudoalt) 496 501 call init_dimphy(1,nlayer) ! Initialize dimphy module 497 call phys_state_var_init(1,llm,nq, 502 call phys_state_var_init(1,llm,nq,tname, 498 503 . day0,time,daysec,dtphys,rad,g,r,cpp) 499 504 call ini_fillgeom(1,latitude,longitude,(/1.0/)) … … 611 616 612 617 CALL disvert 618 ! now that disvert has been called, initialize module vertical_layers_mod 619 call init_vertical_layers(nlayer,preff,scaleheight, 620 & ap,bp,aps,bps,presnivs,pseudoalt) 613 621 614 622 DO ilevel=1,nlevel -
trunk/LMDZ.MARS/libf/phymars/eofdump_mod.F90
r1543 r1621 81 81 82 82 use geometry_mod, only: longitude, latitude 83 use comcstfi_h, only: pi83 use nrtype, only: pi 84 84 use time_phylmdz_mod, only: daysec, dtphys 85 USE comvert_mod, ONLY: aps,bps85 USE vertical_layers_mod, ONLY: aps,bps 86 86 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat 87 87 implicit none -
trunk/LMDZ.MARS/libf/phymars/inistats.F
r1532 r1621 3 3 use statto_mod, only: istats,istime 4 4 use mod_phys_lmdz_para, only : is_master 5 USE comvert_mod, ONLY: ap,bp,aps,bps,preff,pseudoalt,presnivs 6 USE comcstfi_h, ONLY: pi 5 USE vertical_layers_mod, ONLY: ap,bp,aps,bps,preff, 6 & pseudoalt,presnivs 7 USE nrtype, ONLY: pi 7 8 USE time_phylmdz_mod, ONLY: daysec,dtphys 8 9 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg -
trunk/LMDZ.MARS/libf/phymars/initracer.F
r1617 r1621 1 1 SUBROUTINE initracer(ngrid,nq,qsurf) 2 2 3 #ifndef MESOSCALE4 use infotrac, only: tname5 #endif6 3 use tracer_mod 7 4 USE comcstfi_h … … 54 51 c----------------------------------------------------------------------- 55 52 56 ! Initialization: allocate arrays in tracer_mod57 allocate(mmol(nq))58 allocate(radius(nq))59 allocate(rho_q(nq))60 allocate(alpha_lift(nq))61 allocate(alpha_devil(nq))62 allocate(igcm_dustbin(nq))63 allocate(nqdust(nq))64 65 #ifndef MESOSCALE66 allocate(noms(nq))67 ! Initialization: get tracer names from the dynamics and check if we are68 ! using 'old' tracer convention ('q01',q02',...)69 ! or new convention (full tracer names)70 ! check if tracers have 'old' names71 72 count=073 do iq=1,nq74 txt=" "75 write(txt,'(a1,i2.2)') 'q',iq76 if (txt.eq.tname(iq)) then77 count=count+178 endif79 enddo ! of do iq=1,nq80 81 if (count.eq.nq) then82 write(*,*) "initracer: tracers seem to follow old naming ",83 & "convention (q01,q02,...)"84 write(*,*) "you should run newstart to rename them"85 stop86 endif87 88 ! copy tracer names from dynamics89 do iq=1,nq90 noms(iq)=tname(iq)91 write(*,*) "initracer names : ", noms(iq)92 enddo93 #endif94 53 95 54 c------------------------------------------------------------ -
trunk/LMDZ.MARS/libf/phymars/iniwrite.F
r1532 r1621 3 3 use comsoil_h, only: mlayer, nsoilmx 4 4 USE comcstfi_h, only: g, mugaz, omeg, rad, rcp, pi 5 USE comvert_mod, ONLY: ap,bp,aps,bps,pseudoalt6 USE logic_mod, ONLY: fxyhypb,ysinus7 USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy5 USE vertical_layers_mod, ONLY: ap,bp,aps,bps,pseudoalt 6 ! USE logic_mod, ONLY: fxyhypb,ysinus 7 ! USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy 8 8 USE time_phylmdz_mod, ONLY: hour_ini, daysec, dtphys 9 USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang09 ! USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0 10 10 USE regular_lonlat_mod, ONLY: lon_reg, lat_reg 11 11 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev … … 75 75 tab_cntrl(10) = daysec 76 76 tab_cntrl(11) = dtphys 77 tab_cntrl(12) = etot078 tab_cntrl(13) = ptot079 tab_cntrl(14) = ztot080 tab_cntrl(15) = stot081 tab_cntrl(16) = ang077 ! tab_cntrl(12) = etot0 78 ! tab_cntrl(13) = ptot0 79 ! tab_cntrl(14) = ztot0 80 ! tab_cntrl(15) = stot0 81 ! tab_cntrl(16) = ang0 82 82 83 83 tab_cntrl(27) = hour_ini … … 85 85 c .......... P.Le Van ( ajout le 8/04/96 ) ......... 86 86 c ..... parametres pour le zoom ...... 87 tab_cntrl(17) = clon88 tab_cntrl(18) = clat89 tab_cntrl(19) = grossismx90 tab_cntrl(20) = grossismy87 ! tab_cntrl(17) = clon 88 ! tab_cntrl(18) = clat 89 ! tab_cntrl(19) = grossismx 90 ! tab_cntrl(20) = grossismy 91 91 c 92 92 c ..... ajout le 6/05/97 et le 15/10/97 ....... 93 93 c 94 IF ( fxyhypb ) THEN95 tab_cntrl(21) = 1.96 tab_cntrl(22) = dzoomx97 tab_cntrl(23) = dzoomy98 ELSE99 tab_cntrl(21) = 0.100 tab_cntrl(22) = dzoomx101 tab_cntrl(23) = dzoomy102 tab_cntrl(24) = 0.103 IF( ysinus ) tab_cntrl(24) = 1.104 ENDIF94 ! IF ( fxyhypb ) THEN 95 ! tab_cntrl(21) = 1. 96 ! tab_cntrl(22) = dzoomx 97 ! tab_cntrl(23) = dzoomy 98 ! ELSE 99 ! tab_cntrl(21) = 0. 100 ! tab_cntrl(22) = dzoomx 101 ! tab_cntrl(23) = dzoomy 102 ! tab_cntrl(24) = 0. 103 ! IF( ysinus ) tab_cntrl(24) = 1. 104 ! ENDIF 105 105 106 106 c ......................................................... -
trunk/LMDZ.MARS/libf/phymars/iostart.F90
r1504 r1621 464 464 USE mod_grid_phy_lmdz, only: klon_glo 465 465 USE dimphy, only: klev, klevp1 466 USE infotrac, only: nqtot466 USE tracer_mod, only: nqmx 467 467 USE comsoil_h, only: nsoilmx 468 468 IMPLICIT NONE … … 528 528 ENDIF 529 529 530 if (nq tot.ne.0) then531 ierr=NF90_DEF_DIM(nid_restart,"number_of_advected_fields",nq tot,idim5)530 if (nqmx.ne.0) then 531 ierr=NF90_DEF_DIM(nid_restart,"number_of_advected_fields",nqmx,idim5) 532 532 else 533 ! pretend nq tot=1 because 0 size implies unlimited dimension for NetCDF533 ! pretend nqmx=1 because 0 size implies unlimited dimension for NetCDF 534 534 ierr=NF90_DEF_DIM(nid_restart,"number_of_advected_fields",1,idim5) 535 535 endif -
trunk/LMDZ.MARS/libf/phymars/newcondens.F
r1543 r1621 12 12 USE comcstfi_h 13 13 #ifndef MESOSCALE 14 USE comvert_mod, ONLY: bp14 USE vertical_layers_mod, ONLY: bp 15 15 #endif 16 16 IMPLICIT NONE -
trunk/LMDZ.MARS/libf/phymars/phyetat0.F90
r1525 r1621 3 3 tauscaling) 4 4 ! use netcdf 5 use infotrac, only: nqtot, tname5 use tracer_mod, only: noms ! tracer names 6 6 use surfdat_h, only: phisfi, albedodat, z0, z0_default,& 7 7 zmea, zstd, zsig, zgam, zthe … … 289 289 if (nq.ge.1) then 290 290 do iq=1,nq 291 txt= tname(iq)291 txt=noms(iq) 292 292 if (txt.eq."h2o_vap") then 293 293 ! There is no surface tracer for h2o_vap; -
trunk/LMDZ.MARS/libf/phymars/phyredem.F90
r1543 r1621 12 12 alb,ith,pzmea,pzstd,pzsig,pzgam,pzthe) 13 13 ! create physics restart file and write time-independent variables 14 use infotrac, only: nqtot, tname15 14 use comsoil_h, only: inertiedat, volcapa, mlayer 16 15 use geometry_mod, only: cell_area … … 150 149 use iostart, only : open_restartphy, close_restartphy, & 151 150 put_var, put_field 152 use infotrac, only: nqtot, tname151 use tracer_mod, only: noms ! tracer names 153 152 implicit none 154 153 character(len=*),intent(in) :: filename … … 204 203 ! preliminary stuff: look for water vapour & water ice tracers (if any) 205 204 do iq=1,nq 206 if ( tname(iq).eq."h2o_vap") then205 if (noms(iq).eq."h2o_vap") then 207 206 i_h2o_vap=iq 208 207 endif 209 if ( tname(iq).eq."h2o_ice") then208 if (noms(iq).eq."h2o_ice") then 210 209 i_h2o_ice=iq 211 210 endif … … 214 213 if (nq.gt.0) then 215 214 do iq=1,nq 216 txt= tname(iq)215 txt=noms(iq) 217 216 ! Exception: there is no water vapour surface tracer 218 217 if (txt.eq."h2o_vap") then -
trunk/LMDZ.MARS/libf/phymars/phys_state_var_init_mod.F90
r1524 r1621 3 3 CONTAINS 4 4 5 SUBROUTINE phys_state_var_init(ngrid,nlayer,nq, &5 SUBROUTINE phys_state_var_init(ngrid,nlayer,nq,tname, & 6 6 day_ini,hour_ini,pdaysec,ptimestep, & 7 7 prad,pg,pr,pcpp) … … 44 44 use turb_mod, only: ini_turb_mod 45 45 use comcstfi_h, only: pi,rad,cpp,g,r,rcp 46 use tracer_mod, only: nqmx46 use tracer_mod, only: ini_tracer_mod 47 47 use time_phylmdz_mod, only: init_time 48 48 … … 50 50 51 51 INTEGER,INTENT(IN) :: ngrid,nlayer,nq 52 CHARACTER(len=*),INTENT(IN) :: tname(nq) 52 53 INTEGER,INTENT(IN) :: day_ini 53 54 REAL,INTENT(IN) :: hour_ini 54 55 REAL,INTENT(IN) :: pdaysec,ptimestep,prad,pg,pr,pcpp 55 56 56 ! set dimension in tracer_mod57 nqmx=nq57 ! set dimension and allocate arrays in tracer_mod 58 call ini_tracer_mod(nq,tname) 58 59 59 60 ! set parameters in comcstfi_h -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r1618 r1621 53 53 use phyredem, only: physdem0, physdem1 54 54 use eofdump_mod, only: eofdump 55 USE comvert_mod, ONLY: ap,bp,aps,bps55 USE vertical_layers_mod, ONLY: ap,bp,aps,bps 56 56 #endif 57 57 -
trunk/LMDZ.MARS/libf/phymars/tracer_mod.F90
r1617 r1621 88 88 !----------------------------------------------------------------------- 89 89 90 contains 91 92 subroutine ini_tracer_mod(nq,tname) 93 implicit none 94 95 integer,intent(in) :: nq ! number of tracers 96 character(len=*),intent(in) :: tname(nq) ! tracer names 97 98 integer :: iq, count 99 character(len=20) :: txt ! to store some text 100 101 ! set dimension and tracer names 102 nqmx=nq 103 #ifndef MESOSCALE 104 allocate(noms(nq)) 105 do iq=1,nq 106 noms(iq)=tname(iq) 107 write(*,*) "tracer_mod names : ", trim(noms(iq)) 108 enddo 109 110 ! check if tracers have 'old' names 111 count=0 112 do iq=1,nq 113 txt=" " 114 write(txt,'(a1,i2.2)') 'q',iq 115 if (txt.eq.tname(iq)) then 116 count=count+1 117 endif 118 enddo ! of do iq=1,nq 119 120 if (count.eq.nq) then 121 write(*,*) "ini_tracer_mod: tracers seem to follow old naming ", & 122 "convention (q01,q02,...)" 123 write(*,*) "you should run newstart to rename them" 124 stop 125 endif 126 #endif 127 128 ! allocate module arrays: 129 allocate(mmol(nq)) 130 allocate(radius(nq)) 131 allocate(rho_q(nq)) 132 allocate(alpha_lift(nq)) 133 allocate(alpha_devil(nq)) 134 allocate(igcm_dustbin(nq)) 135 allocate(nqdust(nq)) 136 137 end subroutine ini_tracer_mod 138 90 139 end module tracer_mod -
trunk/LMDZ.TITAN/libf/phytitan/ajsec.F
r1530 r1621 8 8 use dimphy 9 9 use mod_grid_phy_lmdz, only: nbp_lev 10 use cpdet_ mod, only: t2tpot, tpot2t10 use cpdet_phy_mod, only: t2tpot, tpot2t 11 11 IMPLICIT none 12 12 c====================================================================== -
trunk/LMDZ.TITAN/libf/phytitan/clmain.F
r1530 r1621 36 36 use dimphy 37 37 use mod_grid_phy_lmdz, only: nbp_lev 38 use cpdet_ mod, only: t2tpot38 use cpdet_phy_mod, only: t2tpot 39 39 IMPLICIT none 40 40 c====================================================================== … … 480 480 use dimphy 481 481 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev 482 use cpdet_ mod, only: t2tpot,tpot2t,cpdet482 use cpdet_phy_mod, only: t2tpot,tpot2t,cpdet 483 483 484 484 IMPLICIT none … … 887 887 888 888 use dimphy 889 use cpdet_ mod, only: cpdet,t2tpot889 use cpdet_phy_mod, only: cpdet,t2tpot 890 890 IMPLICIT none 891 891 c====================================================================== … … 1171 1171 use dimphy 1172 1172 use mod_grid_phy_lmdz, only: nbp_lev 1173 use cpdet_ mod, only: cpdet1173 use cpdet_phy_mod, only: cpdet 1174 1174 IMPLICIT none 1175 1175 c====================================================================== -
trunk/LMDZ.TITAN/libf/phytitan/diagphy.F
r1530 r1621 208 208 209 209 use dimphy 210 use cpdet_ mod, only: cpdet210 use cpdet_phy_mod, only: cpdet 211 211 IMPLICIT NONE 212 212 C -
trunk/LMDZ.TITAN/libf/phytitan/interface_surf.F90
r1056 r1621 46 46 47 47 use write_field_phy 48 use cpdet_ mod, only: cpdet48 use cpdet_phy_mod, only: cpdet 49 49 50 50 IMPLICIT none … … 197 197 198 198 use write_field_phy 199 use cpdet_ mod, only: t2tpot, tpot2t199 use cpdet_phy_mod, only: t2tpot, tpot2t 200 200 201 201 IMPLICIT none -
trunk/LMDZ.TITAN/libf/phytitan/optci.F
r1461 r1621 1 1 SUBROUTINE OPTCI(ykim,qaer,nmicro,IPRINT) 2 2 use dimphy 3 use infotrac 3 use infotrac_phy, only: nqtot 4 4 use common_mod, only:rmcbar,xfbar,ncount,TauHID,TauCID,TauGID 5 5 USE TGMDAT_MOD, ONLY: RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC, -
trunk/LMDZ.TITAN/libf/phytitan/optcv.F
r1461 r1621 2 2 3 3 use dimphy 4 use infotrac 4 use infotrac_phy, only: nqtot 5 5 use common_mod, only:rmcbar,xfbar,ncount,TauHVD,TauCVD,TauGVD 6 6 USE TGMDAT_MOD, ONLY: RHCH4,FH2,FHAZE,FHVIS,FHIR,TAUFAC, -
trunk/LMDZ.TITAN/libf/phytitan/phyetat0.F90
r1545 r1621 12 12 USE phys_state_var_mod 13 13 USE iostart 14 USE infotrac15 14 USE geometry_mod, only: latitude_deg,longitude_deg 16 15 USE time_phylmdz_mod, only: itau_phy, raz_date -
trunk/LMDZ.TITAN/libf/phytitan/phyredem.F90
r1545 r1621 11 11 USE iostart, only : open_restartphy,close_restartphy, & 12 12 put_var,put_field 13 USE infotrac14 13 USE geometry_mod, only: longitude_deg, latitude_deg 15 14 USE time_phylmdz_mod, only: day_end, annee_ref, itau_phy, raz_date -
trunk/LMDZ.TITAN/libf/phytitan/physiq_mod.F
r1572 r1621 61 61 USE ioipsl 62 62 ! USE histcom ! not needed; histcom is included in ioipsl 63 USE infotrac 63 USE infotrac_phy, ONLY: iflag_trac, tname, ttext 64 64 use dimphy 65 65 USE geometry_mod, ONLY: longitude, latitude, ! in radians 66 66 & longitude_deg, latitude_deg, ! in degrees 67 67 & cell_area, dx, dy 68 use cpdet_ mod, only: cpdet, t2tpot68 use cpdet_phy_mod, only: cpdet, t2tpot 69 69 USE mod_phys_lmdz_para, only : is_parallel,jj_nb, 70 70 & is_north_pole_phy, … … 81 81 USE write_field_phy 82 82 USE time_phylmdz_mod, only: itau_phy,day_ref,annee_ref,nday 83 USE logic_mod, only: iflag_trac,moyzon_ch,moyzon_mu83 USE logic_mod, only: moyzon_ch,moyzon_mu 84 84 USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev 85 85 IMPLICIT none -
trunk/LMDZ.TITAN/libf/phytitan/phytrac.F
r1443 r1621 38 38 c reservoir----outpur-R-un reservoir de surface !!! (m) 39 39 c====================================================================== 40 USE infotrac 40 USE infotrac_phy, ONLY: tname 41 41 use dimphy 42 42 USE common_mod, only: rmcbar,xfbar,ncount, -
trunk/LMDZ.TITAN/libf/phytitan/radtitan.F
r1545 r1621 31 31 c ------------- 32 32 33 USE infotrac 33 USE infotrac_phy, ONLY: tname 34 34 use dimphy 35 35 USE geometry_mod, ONLY: latitude ! in radians -
trunk/LMDZ.VENUS/libf/phyvenus/ajsec.F
r1530 r1621 8 8 use dimphy 9 9 use mod_grid_phy_lmdz, only: nbp_lev 10 use cpdet_ mod, only: t2tpot, tpot2t10 use cpdet_phy_mod, only: t2tpot, tpot2t 11 11 IMPLICIT none 12 12 c====================================================================== -
trunk/LMDZ.VENUS/libf/phyvenus/chemparam_mod.F90
r1468 r1621 671 671 672 672 SUBROUTINE chemparam_ini 673 USE infotrac 673 USE infotrac_phy, ONLY: nqtot, tname 674 674 IMPLICIT NONE 675 675 INTEGER :: i -
trunk/LMDZ.VENUS/libf/phyvenus/clmain.F
r1591 r1621 36 36 use dimphy 37 37 use mod_grid_phy_lmdz, only: nbp_lev 38 use cpdet_ mod, only: t2tpot38 use cpdet_phy_mod, only: t2tpot 39 39 IMPLICIT none 40 40 c====================================================================== … … 480 480 use dimphy 481 481 use mod_grid_phy_lmdz, only: nbp_lon, nbp_lat, nbp_lev 482 use cpdet_ mod, only: t2tpot,tpot2t,cpdet482 use cpdet_phy_mod, only: t2tpot,tpot2t,cpdet 483 483 484 484 IMPLICIT none … … 918 918 919 919 use dimphy 920 use cpdet_ mod, only: cpdet,t2tpot920 use cpdet_phy_mod, only: cpdet,t2tpot 921 921 IMPLICIT none 922 922 c====================================================================== … … 1229 1229 use dimphy 1230 1230 use mod_grid_phy_lmdz, only: nbp_lev 1231 use cpdet_ mod, only: cpdet1231 use cpdet_phy_mod, only: cpdet 1232 1232 IMPLICIT none 1233 1233 c====================================================================== -
trunk/LMDZ.VENUS/libf/phyvenus/concentrations2.F
r1591 r1621 3 3 use dimphy 4 4 use conc, only: mmean, rho, Akknew, rnew, cpnew 5 use cpdet_ mod, only: cpdet5 use cpdet_phy_mod, only: cpdet 6 6 USE chemparam_mod 7 use infotrac8 7 9 8 implicit none -
trunk/LMDZ.VENUS/libf/phyvenus/diagphy.F
r1530 r1621 208 208 209 209 use dimphy 210 use cpdet_ mod, only: cpdet210 use cpdet_phy_mod, only: cpdet 211 211 IMPLICIT NONE 212 212 C -
trunk/LMDZ.VENUS/libf/phyvenus/dyn1d/rcm1d.F
r1549 r1621 403 403 , plev,play,pk,phi,phisfi, 404 404 , presnivs, 405 , u,v,temp,q, 405 , u,v,temp,q, 406 , plev,temp, ! "planetary mean" plev and temperature 406 407 , w, 407 408 C - sorties -
trunk/LMDZ.VENUS/libf/phyvenus/flott_gwd_ran.F90
r1591 r1621 1 1 SUBROUTINE FLOTT_GWD_RAN(NLON,NLEV,DTIME, pp, pn2, & 2 tt,uu,vv,zustr,zvstr,d_t, d_u, d_v) 2 tt,uu,vv, plevmoy, & 3 zustr,zvstr,d_t, d_u, d_v) 3 4 4 5 !---------------------------------------------------------------------- … … 14 15 15 16 use dimphy 16 use moyzon_mod, only: plevmoy17 17 implicit none 18 18 … … 32 32 REAL, intent(in):: UU(NLON, NLEV) , VV(NLON, NLEV) 33 33 ! Hor winds at full levels 34 REAL, intent(in) :: plevmoy(NLEV+1) ! (planet-averaged) mean pressure (Pa) at interlayers 34 35 35 36 ! 0.2 OUTPUTS -
trunk/LMDZ.VENUS/libf/phyvenus/interface_surf.F90
r1017 r1621 46 46 47 47 use write_field_phy 48 use cpdet_ mod, only: cpdet48 use cpdet_phy_mod, only: cpdet 49 49 50 50 IMPLICIT none … … 197 197 198 198 use write_field_phy 199 use cpdet_ mod, only: t2tpot, tpot2t199 use cpdet_phy_mod, only: t2tpot, tpot2t 200 200 201 201 IMPLICIT none -
trunk/LMDZ.VENUS/libf/phyvenus/lw_venus_ve.F
r1530 r1621 6 6 7 7 use dimphy 8 use cpdet_ mod, only: cpdet8 use cpdet_phy_mod, only: cpdet 9 9 IMPLICIT none 10 10 -
trunk/LMDZ.VENUS/libf/phyvenus/lwi.F
r1530 r1621 2 2 3 3 use dimphy 4 use cpdet_ mod, only: cpdet4 use cpdet_phy_mod, only: cpdet 5 5 implicit none 6 6 -
trunk/LMDZ.VENUS/libf/phyvenus/moldiff_red.F90
r1609 r1621 3 3 4 4 USE chemparam_mod 5 USE infotrac 5 USE infotrac_phy 6 6 USE dimphy 7 7 … … 935 935 SUBROUTINE QMNEW(Q1,DQ,Q2,dtime,nl,nq,gc,ig) 936 936 use chemparam_mod 937 use infotrac 937 use infotrac_phy 938 938 IMPLICIT NONE 939 939 … … 971 971 SUBROUTINE MMOY(massemoy,mol_tr,qq,gc,nl,nq) 972 972 use chemparam_mod 973 use infotrac 973 use infotrac_phy 974 974 IMPLICIT NONE 975 975 … … 1057 1057 & Nraf,Nrafk,Rraf,Rrafk,il,nl,nq,nlx,ig) 1058 1058 use chemparam_mod 1059 use infotrac 1059 use infotrac_phy 1060 1060 IMPLICIT NONE 1061 1061 #include "YOMCST.h" … … 1401 1401 & pp,M,gc,nl,nq,nlx,ig) 1402 1402 use chemparam_mod 1403 use infotrac 1403 use infotrac_phy 1404 1404 IMPLICIT NONE 1405 1405 #include "YOMCST.h" -
trunk/LMDZ.VENUS/libf/phyvenus/moldiffcoeff_red.F
r1530 r1621 2 2 3 3 USE chemparam_mod 4 USE infotrac 4 USE infotrac_phy 5 5 USE dimphy 6 use infotrac7 6 8 7 IMPLICIT NONE -
trunk/LMDZ.VENUS/libf/phyvenus/new_cloud_sedim.F
r1543 r1621 5 5 6 6 USE ioipsl 7 USE infotrac8 7 USE dimphy 9 8 USE chemparam_mod -
trunk/LMDZ.VENUS/libf/phyvenus/new_photochemistry_venus.F90
r1525 r1621 5 5 6 6 USE chemparam_mod 7 USE infotrac8 7 9 8 implicit none -
trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90
r1545 r1621 12 12 USE phys_state_var_mod 13 13 USE iostart 14 USE infotrac15 14 use geometry_mod, only: longitude_deg, latitude_deg 16 15 USE time_phylmdz_mod, only: itau_phy, raz_date -
trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90
r1545 r1621 11 11 USE iostart, only : open_restartphy,close_restartphy, & 12 12 put_var,put_field 13 USE infotrac14 13 use geometry_mod, only: longitude_deg, latitude_deg 15 14 USE time_phylmdz_mod, only: day_end, annee_ref, itau_phy, raz_date -
trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F
r1572 r1621 12 12 . paprs,pplay,ppk,pphi,pphis,presnivs, 13 13 . u,v,t,qx, 14 . flxmw, 14 . flxmw, plevmoy, tmoy, 15 15 . d_u, d_v, d_t, d_qx, d_ps) 16 16 … … 61 61 USE ioipsl 62 62 ! USE histcom ! not needed; histcom is included in ioipsl 63 USE infotrac64 63 use dimphy 65 64 USE geometry_mod,only: longitude, latitude, ! in radians … … 72 71 USE write_field_phy 73 72 USE iophy 74 USE cpdet_ mod, only: cpdet, t2tpot73 USE cpdet_phy_mod, only: cpdet, t2tpot 75 74 USE chemparam_mod 76 75 USE conc 77 76 USE compo_hedin83_mod2 78 use moyzon_mod, only: tmoy79 77 ! use ieee_arithmetic 80 78 use time_phylmdz_mod, only: annee_ref, day_ref, itau_phy 81 79 use mod_grid_phy_lmdz, only: nbp_lon 82 use logic_mod, only: iflag_trac80 use infotrac_phy, only: iflag_trac, tname, ttext 83 81 IMPLICIT none 84 82 c====================================================================== … … 139 137 140 138 REAL flxmw(klon,klev) 139 REAL,INTENT(IN) :: plevmoy(klev+1) ! planet-averaged mean pressure (Pa) at interfaces 140 REAL,INTENT(IN) :: tmoy(klev) ! planet-averaged mean temperature (Pa) at mid-layers 141 141 142 142 REAL d_u(klon,klev) … … 1549 1549 1550 1550 call flott_gwd_ran(klon,klev,dtime,pplay,zn2, 1551 e t_seri, u_seri, v_seri, 1551 e t_seri, u_seri, v_seri, plevmoy, 1552 1552 o zustrhi,zvstrhi, 1553 1553 o d_t_hin, d_u_hin, d_v_hin) -
trunk/LMDZ.VENUS/libf/phyvenus/phytrac_emiss.F
r1543 r1621 28 28 c 29 29 c====================================================================== 30 USE infotrac 30 USE infotrac_phy, ONLY: nqtot 31 31 use dimphy 32 32 USE geometry_mod, only: cell_area -
trunk/LMDZ.VENUS/libf/phyvenus/phytrac_relax.F
r1543 r1621 25 25 c 26 26 c====================================================================== 27 USE infotrac 27 USE infotrac_phy, ONLY: nqtot, tname 28 28 use dimphy 29 29 USE chemparam_mod,only:M_tr -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_cl.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_cl_1Dglobave.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_dc.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_dc_1Dglobave.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_rh.F
r1591 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_rh_1Dglobave.F
r1591 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_ve.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9 -
trunk/LMDZ.VENUS/libf/phyvenus/sw_venus_ve_1Dglobave.F
r1530 r1621 5 5 6 6 use dimphy 7 use cpdet_ mod, only: cpdet7 use cpdet_phy_mod, only: cpdet 8 8 IMPLICIT none 9 9
Note: See TracChangeset
for help on using the changeset viewer.