Changeset 2470 for trunk/LMDZ.GENERIC/libf
- Timestamp:
- Mar 8, 2021, 1:43:22 PM (4 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/libf/dynphy_lonlat/inigeomphy_mod.F90
r1682 r2470 7 7 rlatu,rlatv,rlonu,rlonv,aire,cu,cv) 8 8 USE mod_grid_phy_lmdz, ONLY: klon_glo, & ! number of atmospheric columns (on full grid) 9 regular_lonlat, & ! regular longitude-latitude grid type 10 nbp_lon, nbp_lat, nbp_lev 9 regular_lonlat ! regular longitude-latitude grid type 11 10 USE mod_phys_lmdz_para, ONLY: klon_omp, & ! number of columns (on local omp grid) 12 11 klon_omp_begin, & ! start index of local omp subgrid … … 48 47 INTEGER :: ibegin, iend, offset 49 48 INTEGER :: i,j,k 50 CHARACTER (LEN=20) :: modname = 'ini physiq'49 CHARACTER (LEN=20) :: modname = 'inigeomphy' 51 50 CHARACTER (LEN=80) :: abort_message 52 51 REAL :: total_area_phy, total_area_dyn … … 170 169 total_area_phy=sum(airefi_glo(1:klon_glo)) 171 170 IF (total_area_dyn/=total_area_phy) THEN 172 WRITE (lunout, *) 'ini physiq: planet total surface discrepancy !!!'171 WRITE (lunout, *) 'inigeomphy: planet total surface discrepancy !!!' 173 172 WRITE (lunout, *) ' in the dynamics total_area_dyn=', total_area_dyn 174 173 WRITE (lunout, *) ' but in the physics total_area_phy=', total_area_phy -
trunk/LMDZ.GENERIC/libf/phystd/callcorrk.F90
r2446 r2470 33 33 use callkeys_mod, only: varactive,diurnal,tracer,water,varfixed,satval,diagdtau, & 34 34 kastprof,strictboundcorrk,specOLR,CLFvarying, & 35 tplanckmin,tplanckmax 35 tplanckmin,tplanckmax,global1d 36 36 use optcv_mod, only: optcv 37 37 use optci_mod, only: optci … … 154 154 INTEGER ig,l,k,nw,iaer 155 155 156 real,save :: szangle157 logical,save :: global1d158 !$OMP THREADPRIVATE(szangle,global1d)159 160 156 real*8,allocatable,save :: taugsurf(:,:) 161 157 real*8,allocatable,save :: taugsurfi(:,:) … … 271 267 message='varactive in callcorrk but no h2o_vap tracer.' 272 268 call abort_physic(subname,message,1) 273 endif274 275 if (ngrid.eq.1) then276 PRINT*, 'Simulate global averaged conditions ?'277 global1d = .false. ! default value278 call getin_p("global1d",global1d)279 write(*,*) "global1d = ",global1d280 281 ! Test of incompatibility : if global1d is true, there should not be any diurnal cycle.282 if (global1d.and.diurnal) then283 message='if global1d is true, diurnal must be set to false'284 call abort_physic(subname,message,1)285 endif286 287 if (global1d) then288 PRINT *,'Solar Zenith angle (deg.) ?'289 PRINT *,'(assumed for averaged solar flux S/4)'290 szangle=60.0 ! default value291 call getin_p("szangle",szangle)292 write(*,*) "szangle = ",szangle293 endif294 269 endif 295 270 … … 531 506 ENDDO 532 507 533 if ((ngrid.eq.1).and.(global1d)) then ! Fixed zenith angle 'szangle' in 1D simulations w/ globally-averaged sunlight.534 acosz = cos(pi*szangle/180.0)535 print*,'acosz=',acosz,', szangle=',szangle536 else537 508 acosz=mu0(ig) ! Cosine of sun incident angle : 3D simulations or local 1D simulations using latitude. 538 endif539 509 540 510 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -
trunk/LMDZ.GENERIC/libf/phystd/callkeys_mod.F90
r2340 r2470 64 64 logical,save :: gwd_convective_source 65 65 !$OMP THREADPRIVATE(calllott_nonoro,gwd_convective_source) 66 logical,save :: global1d 67 real,save :: szangle 68 !$OMP THREADPRIVATE(global1d,szangle) 66 69 67 70 integer,save :: iddist -
trunk/LMDZ.GENERIC/libf/phystd/dyn1d/kcm1d.F90
r2436 r2470 8 8 use comsaison_h, only: mu0, fract, dist_star 9 9 use planete_mod 10 use callkeys_mod, only: check_cpp_match, pceil, tstrat, tracer 10 use callkeys_mod, only: check_cpp_match, pceil, tstrat, tracer, global1d 11 11 use inifis_mod, only: inifis 12 12 use comcstfi_mod … … 84 84 85 85 integer ierr 86 logical firstcall,lastcall ,global1d86 logical firstcall,lastcall 87 87 88 88 character*20,allocatable :: nametrac(:) ! name of the tracer (no need for adv trac common) … … 217 217 218 218 219 global1d = .false. ! default value220 call getin("global1d",global1d)221 write(*,*) " global1d = ",global1d222 if(.not.global1d)then223 print*,'Error, kcm1d must have global1d=.true. in kcm1d.def!'224 stop225 end if226 219 227 220 psurf_n=100000. ! default value for psurf … … 328 321 cpp=1.d-7 !JL because we divide by cpp in inifis, there may be a more elegant solution 329 322 CALL inifis(1,llm,nq,0,86400.0,1,1.0,latitude,longitude,cell_area,rad,g,r,cpp) 323 324 if(.not.global1d)then 325 print*,'Error, kcm1d must have global1d=.true. in kcm1d.def!' 326 stop 327 end if 330 328 331 329 !write(*,*) 'BASE 1' -
trunk/LMDZ.GENERIC/libf/phystd/inifis_mod.F90
r2340 r2470 432 432 write(*,*)" haze = ",haze 433 433 434 ! Global1D mean and solar zenith angle 435 436 if (ngrid.eq.1) then 437 PRINT*, 'Simulate global averaged conditions ?' 438 global1d = .false. ! default value 439 call getin_p("global1d",global1d) 440 write(*,*) "global1d = ",global1d 441 442 ! Test of incompatibility : if global1d is true, there should not be any diurnal cycle. 443 if (global1d.and.diurnal) then 444 call abort_physic("inifis",'if global1d is true, diurnal must be set to false',1) 445 endif 446 447 if (global1d) then 448 PRINT *,'Solar Zenith angle (deg.) ?' 449 PRINT *,'(assumed for averaged solar flux S/4)' 450 szangle=60.0 ! default value 451 call getin_p("szangle",szangle) 452 write(*,*) "szangle = ",szangle 453 endif 454 endif 434 455 435 456 ! Test of incompatibility: -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r2446 r2470 58 58 startphy_file, testradtimes, tlocked, & 59 59 tracer, UseTurbDiff, water, watercond, & 60 waterrain 60 waterrain, global1d, szangle 61 61 use nonoro_gwd_ran_mod, only: nonoro_gwd_ran 62 62 use conc_mod … … 863 863 call mucorr(ngrid,declin,latitude,mu0,fract,10000.,rad,flatten) 864 864 ! WARNING: this function appears not to work in 1D 865 866 if ((ngrid.eq.1).and.(global1d)) then ! Fixed zenith angle 'szangle' in 1D simulations w/ globally-averaged sunlight. 867 mu0 = cos(pi*szangle/180.0) 868 !print*,'acosz=',mu0,', szangle=',szangle 869 endif 865 870 866 871 endif -
trunk/LMDZ.GENERIC/libf/phystd/profile.F
r2233 r2470 185 185 101 STOP'fichier profile inexistant' 186 186 201 CONTINUE 187 CLOSE(1 0)187 CLOSE(11) 188 188 189 189 c----------------------------------------------------------------------- -
trunk/LMDZ.GENERIC/libf/phystd/thermcell_plume.F90
r2232 r2470 249 249 & + entr_star(ig,l) * zhl(ig,l)) & 250 250 & / (f_star(ig,l+1) + detr_star(ig,l)) 251 zqta(ig,l) = (f_star(ig,l) * zqta(ig,l-1) +& ! zqta is set to qt in plume (mixed)251 zqta(ig,l) = (f_star(ig,l) * zqta(ig,l-1) & ! zqta is set to qt in plume (mixed) 252 252 & + entr_star(ig,l) * zqt(ig,l)) & 253 253 & / (f_star(ig,l+1) + detr_star(ig,l))
Note: See TracChangeset
for help on using the changeset viewer.