Changeset 1883
- Timestamp:
- Jan 2, 2018, 3:11:14 PM (7 years ago)
- Location:
- trunk/LMDZ.GENERIC
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/README
r1882 r1883 1366 1366 libf/dynphy_lonlat/phystd directory 1367 1367 - dtridgl.F already exists in libf/phystd 1368 - fix rcm1d.F to cope with modifications introduced in revision 1835-1836 1369 - also add some missing threadprivate OpenMP directives in phys_state_var_mod 1370 and turb_mod 1371 -
trunk/LMDZ.GENERIC/libf/phystd/comsaison_h.F90
r1327 r1883 4 4 implicit none 5 5 6 integer isaison 7 logical callsais 8 real dist_star,declin,right_ascen 6 ! integer,save :: isaison 7 ! logical,save :: callsais 8 !!$OMP THREADPRIVATE(isaison,callsais) 9 10 real,save :: dist_star,declin,right_ascen 11 !$OMP THREADPRIVATE(dist_star,declin,right_ascen) 9 12 10 13 real, allocatable, dimension(:) :: mu0,fract 11 !$OMP THREADPRIVATE( isaison,callsais,dist_star,declin,mu0,fract)14 !$OMP THREADPRIVATE(mu0,fract) 12 15 13 16 end module comsaison_h -
trunk/LMDZ.GENERIC/libf/phystd/dyn1d/rcm1d.F
r1826 r1883 35 35 use mod_interface_dyn_phys, only: init_interface_dyn_phys 36 36 use inifis_mod, only: inifis 37 use phys_state_var_mod, only: phys_state_var_init 37 38 use physiq_mod, only: physiq 38 39 implicit none … … 146 147 c INITIALISATION 147 148 c======================================================================= 148 ! initialize "serial/parallel" related stuff 149 ! CALL init_phys_lmdz(iim,jjm+1,llm,1,(/(jjm-1)*iim+2/)) 150 ! CALL init_phys_lmdz(1,1,llm,1,(/1/)) 151 ! call initcomgeomphy 152 153 !! those are defined in surfdat_h.F90 154 IF (.not. ALLOCATED(albedodat)) ALLOCATE(albedodat(1)) 155 IF (.not. ALLOCATED(phisfi)) ALLOCATE(phisfi(1)) 156 IF (.not. ALLOCATED(zmea)) ALLOCATE(zmea(1)) 157 IF (.not. ALLOCATED(zstd)) ALLOCATE(zstd(1)) 158 IF (.not. ALLOCATED(zsig)) ALLOCATE(zsig(1)) 159 IF (.not. ALLOCATED(zgam)) ALLOCATE(zgam(1)) 160 IF (.not. ALLOCATED(zthe)) ALLOCATE(zthe(1)) 161 IF (.not. ALLOCATED(dryness)) ALLOCATE(dryness(1)) 162 IF (.not. ALLOCATED(watercaptag)) ALLOCATE(watercaptag(1)) 163 !! those are defined in comdiurn_h.F90 164 IF (.not.ALLOCATED(sinlat)) ALLOCATE(sinlat(1)) 165 IF (.not.ALLOCATED(coslat)) ALLOCATE(coslat(1)) 166 IF (.not.ALLOCATED(sinlon)) ALLOCATE(sinlon(1)) 167 IF (.not.ALLOCATED(coslon)) ALLOCATE(coslon(1)) 168 149 150 ! read nq from traceur.def 151 open(90,file='traceur.def',status='old',form='formatted', 152 & iostat=ierr) 153 if (ierr.eq.0) then 154 read(90,*,iostat=ierr) nq 155 else 156 nq=0 157 endif 158 close(90) 159 160 ! Initialize dimphy module 161 call init_dimphy(1,llm) 162 ! now initialize arrays using phys_state_var_init 163 call phys_state_var_init(nq) 164 169 165 saveprofile=.false. 170 166 saveprofile=.true. … … 512 508 ! call init_vertical_layers(nlayer,preff,scaleheight, 513 509 ! & ap,bp,aps,bps,presnivs,pseudoalt) 514 call init_dimphy(1,nlayer) ! Initialize dimphy module510 ! call init_dimphy(1,nlayer) ! Initialize dimphy module 515 511 call ini_planete_mod(nlayer,preff,ap,bp) 516 512 -
trunk/LMDZ.GENERIC/libf/phystd/phys_state_var_mod.F90
r1842 r1883 17 17 use surfdat_h, only: phisfi, albedodat, & 18 18 zmea, zstd, zsig, zgam, zthe 19 use turb_mod 20 !#include "bands.h" 21 !#include "scatterers.h" 22 ! INTEGER, SAVE :: radpas 23 !!$OMP THREADPRIVATE(radpas) 24 ! REAL, SAVE :: dtime 25 !!$OMP THREADPRIVATE(dtime) 19 use turb_mod, only: q2,sensibFlux,wstar,ustar,tstar,hfmax_th,zmax_th 20 26 21 real,allocatable,dimension(:,:),save :: ztprevious ! Previous loop Atmospheric Temperature (K) 27 22 ! Useful for Dynamical Heating calculation. 28 23 real,allocatable,dimension(:,:),save :: zuprevious 24 !$OMP THREADPRIVATE(ztprevious,zuprevious) 25 29 26 real, dimension(:),allocatable,save :: tsurf ! Surface temperature (K). 30 27 real, dimension(:,:),allocatable,save :: tsoil ! Sub-surface temperatures (K). … … 33 30 real, dimension(:),allocatable,save :: albedo_snow_SPECTV ! Snow Spectral albedo. 34 31 real, dimension(:),allocatable,save :: albedo_co2_ice_SPECTV ! CO2 ice Spectral albedo. 35 36 32 !$OMP THREADPRIVATE(tsurf,tsoil,albedo,albedo_equivalent,albedo_snow_SPECTV,albedo_co2_ice_SPECTV) 37 33 38 34 real,dimension(:),allocatable,save :: albedo_bareground ! Bare Ground Albedo. By MT 2015. 39 35 real,dimension(:),allocatable,save :: rnat ! Defines the type of the grid (ocean,continent,...). By BC. 40 41 36 !$OMP THREADPRIVATE(albedo_bareground,rnat) 42 37 … … 48 43 real,dimension(:),allocatable,save :: fluxgrd ! Surface conduction flux (W.m-2). 49 44 real,dimension(:,:),allocatable,save :: qsurf ! Tracer on surface (e.g. kg.m-2). 50 !real,dimension(:,:),allocatable,save :: q2 ! Turbulent Kinetic Energy. 51 45 !$OMP THREADPRIVATE(emis,dtrad,fluxrad_sky,fluxrad,capcal,fluxgrd,qsurf) 52 46 53 47 ! FOR DIAGNOSTIC : … … 56 50 real,dimension(:),allocatable,save :: fluxsurf_sw ! Incident Short Wave (stellar) surface flux (W.m-2). 57 51 real,dimension(:),allocatable,save :: fluxsurfabs_sw ! Absorbed Short Wave (stellar) flux by the surface (W.m-2). 52 !$OMP THREADPRIVATE(fluxsurf_lw,fluxsurf_sw,fluxsurfabs_sw) 53 58 54 real,dimension(:),allocatable,save :: fluxtop_lw ! Outgoing LW (IR) flux to space (W.m-2). 59 55 real,dimension(:),allocatable,save :: fluxabs_sw ! Absorbed SW (stellar) flux (W.m-2). 60 56 real,dimension(:),allocatable,save :: fluxtop_dn ! Incoming SW (stellar) radiation at the top of the atmosphere (W.m-2). 61 57 real,dimension(:),allocatable,save :: fluxdyn ! Horizontal heat transport by dynamics (W.m-2). 58 !$OMP THREADPRIVATE(fluxtop_lw,fluxabs_sw,fluxtop_dn,fluxdyn) 59 62 60 real,dimension(:,:),allocatable,save :: OLR_nu ! Outgoing LW radiation in each band (Normalized to the band width (W/m2/cm-1)). 63 61 real,dimension(:,:),allocatable,save :: OSR_nu ! Outgoing SW radiation in each band (Normalized to the band width (W/m2/cm-1)). … … 65 63 real,dimension(:,:),allocatable,save :: zdtsw ! SW heating tendencies (K/s). 66 64 !real,dimension(:),allocatable,save :: sensibFlux ! Turbulent flux given by the atmosphere to the surface (W.m-2). 65 !$OMP THREADPRIVATE(OLR_nu,OSR_nu,zdtlw,zdtsw) 67 66 68 67 real,allocatable,dimension(:),save :: tau_col ! Total Aerosol Optical Depth. … … 75 74 76 75 real,allocatable,dimension(:,:),save :: qsurf_hist 77 !$OMP THREADPRIVATE(qsurf_hist)78 76 real,allocatable,dimension(:,:,:),save :: nueffrad ! Aerosol effective radius variance. By RW 77 !$OMP THREADPRIVATE(qsurf_hist,nueffrad) 79 78 80 79 real,allocatable,dimension(:),save :: ice_initial 81 80 real,allocatable,dimension(:),save :: ice_min 82 81 !$OMP THREADPRIVATE(ice_initial,ice_min) 83 82 84 83 real, dimension(:),allocatable,save :: pctsrf_sic … … 89 88 integer, dimension(:),allocatable,save ::knindex 90 89 real,allocatable,dimension(:,:,:),save :: reffrad 91 92 !$OMP THREADPRIVATE(dlw,fder) 90 !$OMP THREADPRIVATE(pctsrf_sic,tslab,tsea_ice,sea_ice,zmasq,knindex,reffrad) 93 91 94 92 CONTAINS … … 99 97 IMPLICIT NONE 100 98 101 integer :: nqtot99 integer,intent(in) :: nqtot 102 100 103 101 ! Parametres de l'Orographie a l'Echelle Sous-Maille (OESM): -
trunk/LMDZ.GENERIC/libf/phystd/physiq_mod.F90
r1877 r1883 404 404 ! -------------------------------- 405 405 if (firstcall) then 406 ! Allocate saved arrays. 407 call phys_state_var_init(nq) 406 ! Allocate saved arrays (except for 1D model, where this has already 407 ! been done) 408 if (ngrid>1) call phys_state_var_init(nq) 408 409 409 410 ! Variables set to 0 -
trunk/LMDZ.GENERIC/libf/phystd/turb_mod.F90
r1834 r1883 4 4 REAL,SAVE,ALLOCATABLE :: q2(:,:) ! Turbulent Kinetic Energy 5 5 REAL,allocatable,SAVE :: l0(:) 6 !$OMP THREADPRIVATE(q2,l0) 6 7 REAL,SAVE,ALLOCATABLE :: ustar(:) 7 8 REAL,SAVE,ALLOCATABLE :: wstar(:) 8 9 REAL,SAVE,ALLOCATABLE :: tstar(:) 10 !$OMP THREADPRIVATE(ustar,wstar,tstar) 9 11 REAL,SAVE,ALLOCATABLE :: hfmax_th(:) 10 12 REAL,SAVE,ALLOCATABLE :: zmax_th(:) 13 !$OMP THREADPRIVATE(hfmax_th,zmax_th) 11 14 REAL,SAVE,ALLOCATABLE :: sensibFlux(:) 12 LOGICAL :: turb_resolved = .false. 15 LOGICAL,SAVE :: turb_resolved = .false. 16 !$OMP THREADPRIVATE(sensibFlux,turb_resolved) 13 17 ! this is a flag to say 'turbulence is resolved' 14 18 ! mostly for LES use. default is FALSE (for GCM and mesoscale)
Note: See TracChangeset
for help on using the changeset viewer.