Changeset 2470 for trunk/LMDZ.GENERIC/libf/phystd
- Timestamp:
- Mar 8, 2021, 1:43:22 PM (4 years ago)
- Location:
- trunk/LMDZ.GENERIC/libf/phystd
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
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.