Changeset 2534
- Timestamp:
- Jun 9, 2021, 9:38:56 PM (4 years ago)
- Location:
- trunk/LMDZ.VENUS/libf/phyvenus
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90
r1718 r2534 21 21 ! Objet: Lecture de l'etat initial pour la physique 22 22 !====================================================================== 23 #include "netcdf.inc"24 #include "dimsoil.h"25 #include "clesphys.h"26 #include "tabcontrol.h"23 !include "netcdf.inc" 24 include "dimsoil.h" 25 include "clesphys.h" 26 include "tabcontrol.h" 27 27 !====================================================================== 28 28 … … 351 351 ENDIF 352 352 353 IF (startphy_file) THEN 354 ! Load Q2 the TKE at interlayer: 355 CALL get_field("Q2",q2,found) 356 IF (.not.found) THEN 357 PRINT*, 'phyetat0: Le champ <Q2> est absent' 358 PRINT*, 'mis a zero' 359 q2(:,:)=0. 360 ENDIF 361 ELSE 362 ! Dummy initialization 363 q2(:,:)=0 364 ENDIF ! of IF (startphy_file) 365 PRINT*,'Turbulent Kinetic Energy', minval(q2), maxval(q2) 366 353 367 ! close file 354 368 IF (startphy_file) call close_startphy -
trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90
r2487 r2534 19 19 ! Objet: Lecture de l'etat initial pour la physique 20 20 !====================================================================== 21 #include "netcdf.inc"22 #include "dimsoil.h"23 #include "clesphys.h"24 #include "tabcontrol.h"21 !include "netcdf.inc" 22 include "dimsoil.h" 23 include "clesphys.h" 24 include "tabcontrol.h" 25 25 !====================================================================== 26 26 … … 95 95 CALL put_field("ZPIC","zpic Orographie sous-maille",zpic) 96 96 CALL put_field("ZVAL","zval Orographie sous-maille",zval) 97 CALL put_field("Q2","Turbulent Kinetic Energy",q2) 97 98 98 99 CALL put_field("TANCIEN","T Previous iteration",t_ancien) -
trunk/LMDZ.VENUS/libf/phyvenus/phys_state_var_mod.F90
r2193 r2534 16 16 !!$OMP THREADPRIVATE(dtime) 17 17 18 REAL, ALLOCATABLE, SAVE :: ftsol(:) 18 REAL, ALLOCATABLE, SAVE :: ftsol(:) ! surface temperature (K) 19 19 !$OMP THREADPRIVATE(ftsol) 20 REAL, ALLOCATABLE, SAVE :: ftsoil(:,:) 20 REAL, ALLOCATABLE, SAVE :: ftsoil(:,:) ! soil temperatures (K) 21 21 !$OMP THREADPRIVATE(ftsoil) 22 REAL, ALLOCATABLE, SAVE :: falbe(:) 22 REAL, ALLOCATABLE, SAVE :: falbe(:) ! surface albedo 23 23 !$OMP THREADPRIVATE(falbe) 24 24 … … 122 122 123 123 IMPLICIT NONE 124 #include "dimsoil.h"124 include "dimsoil.h" 125 125 126 126 integer :: nqmax … … 170 170 ALLOCATE(topsw0(klon),toplw0(klon),solsw0(klon),sollw0(klon)) 171 171 ALLOCATE(dlw(klon), fder(klon)) 172 allocate(sens(klon)) 173 allocate(q2(klon,klev+1)) 174 allocate(l0(klon)) 175 allocate(wstar(klon)) 176 allocate(yustar(klon)) 177 allocate(tstar(klon)) 178 allocate(hfmax_th(klon)) 179 allocate(zmax_th(klon)) 180 172 173 ! allocate turb_mod module variables 174 CALL ini_turb_mod(klon,klev) 175 181 176 END SUBROUTINE phys_state_var_init 182 177 … … 214 209 deallocate(topsw0,toplw0,solsw0,sollw0) 215 210 deallocate(dlw, fder) 216 deallocate(sens) 217 deallocate(q2) 218 deallocate(l0) 219 deallocate(wstar) 220 deallocate(yustar) 221 deallocate(tstar) 222 deallocate(hfmax_th) 223 deallocate(zmax_th) 211 212 ! deallocate turb_mod module variables 213 CALL end_turb_mod 214 224 215 END SUBROUTINE phys_state_var_end 225 216 -
trunk/LMDZ.VENUS/libf/phyvenus/radlwsw.F
r1945 r2534 28 28 29 29 c====================================================================== 30 use dimphy 30 use dimphy, only: klon,klev 31 31 USE geometry_mod, ONLY: latitude_deg 32 32 USE phys_state_var_mod, only: heat,cool,radsol, 33 33 . topsw,toplw,solsw,sollw,sollwdown,lwnet,swnet 34 34 use write_field_phy 35 36 #ifdef CPP_XIOS 37 use xios_output_mod, only: send_xios_field 38 #endif 39 35 40 IMPLICIT none 36 #include "YOMCST.h"37 #include "clesphys.h"38 #include "comcstVE.h"39 #include "nlteparams.h"41 include "YOMCST.h" 42 include "clesphys.h" 43 include "comcstVE.h" 44 include "nlteparams.h" 40 45 41 46 !=========== 42 47 ! Arguments 43 48 !=========== 44 real rmu0(klon), fract(klon), dist 45 46 REAL zzlev(klon,klev+1) 47 real paprs(klon,klev+1), pplay(klon,klev) 48 real tsol(klon) 49 real t(klon,klev) 49 real,intent(in) :: dist ! planet-Sun distance 50 real,intent(in) :: rmu0(klon) ! cosine of zenital angle 51 real,intent(in) :: fract(klon) ! normalized fraction of sunlight illumination 52 REAL,intent(in) :: zzlev(klon,klev+1) ! altitude of the layer boundaries (m) 53 real,intent(in) :: paprs(klon,klev+1) ! inter-layer pressure (Pa) 54 real,intent(in) :: pplay(klon,klev) ! mid-layer pressure (Pa) 55 real,intent(in) :: tsol(klon) ! surface temperature (K) 56 real,intent(in) :: t(klon,klev) ! atmospheric temperature (K) 50 57 51 58 !=========== … … 83 90 real factlat, k1, k2, k3, k4 84 91 c -------------------------------------- 85 logical firstcall 86 data firstcall/.true./ 87 save firstcall 92 logical,save :: firstcall=.true. 88 93 89 94 cERROR ! For checking if the file it's being read … … 663 668 664 669 firstcall = .false. 665 RETURN 670 666 671 END -
trunk/LMDZ.VENUS/libf/phyvenus/turb_mod.F90
r1723 r2534 4 4 REAL,SAVE,ALLOCATABLE :: q2(:,:) ! Turbulent Kinetic Energy 5 5 REAL,SAVE,ALLOCATABLE :: sens(:) 6 REAL,allocatable,SAVE :: l0(:) 6 REAL,allocatable,SAVE :: l0(:) ! Characteristic mixing length 7 7 REAL,SAVE,ALLOCATABLE :: yustar(:) 8 8 REAL,SAVE,ALLOCATABLE :: wstar(:) … … 15 15 ! mostly for LES use. default is FALSE (for GCM and mesoscale) 16 16 17 !contains17 contains 18 18 19 !subroutine ini_turb_mod(ngrid,nlayer)19 subroutine ini_turb_mod(ngrid,nlayer) 20 20 21 !implicit none22 !integer,intent(in) :: ngrid ! number of atmospheric columns23 !integer,intent(in) :: nlayer ! number of atmospheric layers21 implicit none 22 integer,intent(in) :: ngrid ! number of atmospheric columns 23 integer,intent(in) :: nlayer ! number of atmospheric layers 24 24 25 ! allocate(q2(ngrid,nlayer+1)) 26 ! allocate(l0(ngrid)) 27 ! allocate(wstar(ngrid)) 28 ! allocate(ustar(ngrid)) 29 ! allocate(tstar(ngrid)) 30 ! allocate(hfmax_th(ngrid)) 31 ! allocate(zmax_th(ngrid)) 25 allocate(q2(ngrid,nlayer+1)) 26 allocate(sens(ngrid)) 27 allocate(l0(ngrid)) 28 allocate(wstar(ngrid)) 29 allocate(yustar(ngrid)) 30 allocate(tstar(ngrid)) 31 allocate(hfmax_th(ngrid)) 32 allocate(zmax_th(ngrid)) 32 33 ! allocate(sensibFlux(ngrid)) 33 34 34 ! end subroutine ini_turb_mod 35 end subroutine ini_turb_mod 36 37 subroutine end_turb_mod 38 39 implicit none 40 41 if (allocated(q2)) deallocate(q2) 42 if (allocated(sens)) deallocate(sens) 43 if (allocated(l0)) deallocate(l0) 44 if (allocated(wstar)) deallocate(wstar) 45 if (allocated(yustar)) deallocate(yustar) 46 if (allocated(tstar)) deallocate(tstar) 47 if (allocated(hfmax_th)) deallocate(hfmax_th) 48 if (allocated(zmax_th)) deallocate(zmax_th) 49 ! if (allocated(sensibFlux)) deallocate(sensibFlux) 50 51 end subroutine end_turb_mod 52 35 53 36 54 end module turb_mod -
trunk/LMDZ.VENUS/libf/phyvenus/yamada4.F
r1723 r2534 90 90 integer iter 91 91 92 real ric,rifc,b1,kap 93 save ric,rifc,b1,kap 94 data ric,rifc,b1,kap/0.195,0.191,16.6,0.4/ 92 real,save :: ric=0.195 93 real,save :: rifc=0.191 94 real,save :: b1=16.6 95 real,save :: kap=0.4 95 96 96 97 real frif,falpha,fsm … … 118 119 119 120 if (first) then 120 IF (.not.ALLOCATED(l0)) allocate(l0(klon))121 IF (.not.ALLOCATED(q2)) allocate(q2(klon,klevp1))121 ! IF (.not.ALLOCATED(l0)) allocate(l0(klon)) 122 ! IF (.not.ALLOCATED(q2)) allocate(q2(klon,klevp1)) 122 123 123 124 c (surtout pour k=1, à cause diagnostiques...)
Note: See TracChangeset
for help on using the changeset viewer.