Changeset 1759 for LMDZ5/trunk
- Timestamp:
- May 24, 2013, 11:52:12 AM (12 years ago)
- Location:
- LMDZ5/trunk/libf
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phydev/physiq.F90
r1686 r1759 75 75 integer,save :: iwrite_phys ! output every iwrite_phys physics step 76 76 !$OMP THREADPRIVATE(iwrite_phys) 77 integer :: iwrite_phys_omp ! intermediate variable to read iwrite_phys 77 78 real :: t_ops ! frequency of the IOIPSL operations (eg average over...) 78 79 real :: t_wrt ! frequency of the IOIPSL outputs … … 86 87 ! Initialize outputs: 87 88 itau0=0 88 iwrite_phys=1 !default: output every physics timestep 89 call getin("iwrite_phys",iwrite_phys) 89 !$OMP MASTER 90 iwrite_phys_omp=1 !default: output every physics timestep 91 ! NB: getin() is not threadsafe; only one thread should call it. 92 call getin("iwrite_phys",iwrite_phys_omp) 93 !$OMP END MASTER 94 !$OMP BARRIER 95 iwrite_phys=iwrite_phys_omp 90 96 t_ops=pdtphys*iwrite_phys ! frequency of the IOIPSL operation 91 97 t_wrt=pdtphys*iwrite_phys ! frequency of the outputs in the file -
LMDZ5/trunk/libf/phylmd/carbon_cycle_mod.F90
r1454 r1759 19 19 !$OMP THREADPRIVATE(carbon_cycle_cpl) 20 20 21 LOGICAL :: carbon_cycle_emis_comp_omp=.FALSE. 21 22 LOGICAL :: carbon_cycle_emis_comp=.FALSE. ! Calculation of emission compatible 22 23 !$OMP THREADPRIVATE(carbon_cycle_emis_comp) 23 24 25 LOGICAL :: RCO2_inter_omp 24 26 LOGICAL :: RCO2_inter ! RCO2 interactive : if true calculate new value RCO2 for the radiation scheme 25 27 !$OMP THREADPRIVATE(RCO2_inter) 26 28 27 29 ! Scalare values when no transport, from physiq.def 30 REAL :: fos_fuel_s_omp 28 31 REAL :: fos_fuel_s ! carbon_cycle_fos_fuel dans physiq.def 29 32 !$OMP THREADPRIVATE(fos_fuel_s) … … 112 115 ! Read fosil fuel value if no transport 113 116 IF (.NOT. carbon_cycle_tr) THEN 114 fos_fuel_s = 0. 115 CALL getin ('carbon_cycle_fos_fuel',fos_fuel_s) 117 !$OMP MASTER 118 fos_fuel_s_omp = 0. 119 CALL getin ('carbon_cycle_fos_fuel',fos_fuel_s_omp) 120 !$OMP END MASTER 121 !$OMP BARRIER 122 fos_fuel_s=fos_fuel_s_omp 116 123 WRITE(lunout,*) 'carbon_cycle_fos_fuel = ', fos_fuel_s 117 124 END IF … … 120 127 ! Read parmeter for calculation compatible emission 121 128 IF (.NOT. carbon_cycle_tr) THEN 122 carbon_cycle_emis_comp=.FALSE. 123 CALL getin('carbon_cycle_emis_comp',carbon_cycle_emis_comp) 129 !$OMP MASTER 130 carbon_cycle_emis_comp_omp=.FALSE. 131 CALL getin('carbon_cycle_emis_comp',carbon_cycle_emis_comp_omp) 132 !$OMP END MASTER 133 !$OMP BARRIER 134 carbon_cycle_emis_comp=carbon_cycle_emis_comp_omp 124 135 WRITE(lunout,*) 'carbon_cycle_emis_comp = ',carbon_cycle_emis_comp 125 136 IF (carbon_cycle_emis_comp) THEN … … 129 140 130 141 ! Read parameter for interactive calculation of the CO2 value for the radiation scheme 131 RCO2_inter=.FALSE. 132 CALL getin('RCO2_inter',RCO2_inter) 142 !$OMP MASTER 143 RCO2_inter_omp=.FALSE. 144 CALL getin('RCO2_inter',RCO2_inter_omp) 145 !$OMP END MASTER 146 !$OMP BARRIER 147 RCO2_inter=RCO2_inter_omp 133 148 WRITE(lunout,*) 'RCO2_inter = ', RCO2_inter 134 149 IF (RCO2_inter) THEN -
LMDZ5/trunk/libf/phylmd/cvltr.F90
r1742 r1759 121 121 coefcoli = 0. 122 122 123 !$OMP MASTER 123 124 call getin('ccntrAA_coef',ccntrAA_coef) 124 125 call getin('ccntrENV_coef',ccntrENV_coef) 125 126 call getin('coefcoli',coefcoli) 127 !$OMP END MASTER 128 !$OMP BARRIER 126 129 print*,'cvltr coef lessivage convectif', ccntrAA_coef,ccntrENV_coef,coefcoli 127 130 -
LMDZ5/trunk/libf/phylmd/phyaqua.F
r1671 r1759 89 89 integer, save:: read_climoz=0 ! read ozone climatology 90 90 91 91 ! intermediate variables to use getin 92 integer :: nbapp_rad_omp 93 real :: co2_ppm_omp,solaire_omp 94 logical :: alb_ocean_omp 95 real :: rugos_omp 92 96 !------------------------------------------------------------------------- 93 97 ! declaration pour l'appel a phyredem … … 160 164 zcufi=1. 161 165 zcvfi=1. 162 nbapp_rad=24 163 CALL getin('nbapp_rad',nbapp_rad) 166 !$OMP MASTER 167 nbapp_rad_omp=24 168 CALL getin('nbapp_rad',nbapp_rad_omp) 169 !$OMP END MASTER 170 !$OMP BARRIER 171 nbapp_rad=nbapp_rad_omp 164 172 165 173 !--------------------------------------------------------------------- … … 168 176 ! Initialisations des constantes 169 177 ! Ajouter les manquants dans planete.def... (albedo etc) 170 co2_ppm=348. 171 CALL getin('co2_ppm',co2_ppm) 172 solaire=1365. 173 CALL getin('solaire',solaire) 178 !$OMP MASTER 179 co2_ppm_omp=348. 180 CALL getin('co2_ppm',co2_ppm_omp) 181 solaire_omp=1365. 182 CALL getin('solaire',solaire_omp) 183 ! CALL getin('albedo',albedo) ! albedo is set below, depending on type_aqua 184 alb_ocean_omp=.true. 185 CALL getin('alb_ocean',alb_ocean_omp) 186 !$OMP END MASTER 187 !$OMP BARRIER 188 co2_ppm=co2_ppm_omp 189 solaire=solaire_omp 190 alb_ocean=alb_ocean_omp 191 174 192 radsol=0. 175 193 qsol_f=10. 176 ! CALL getin('albedo',albedo) ! albedo is set below, depending on type_aqua177 alb_ocean=.true.178 CALL getin('alb_ocean',alb_ocean)179 194 180 195 c Conditions aux limites: … … 208 223 endif 209 224 210 CALL getin('rugos',rugos) 225 !$OMP MASTER 226 rugos_omp=rugos 227 CALL getin('rugos',rugos_omp) 228 !$OMP END MASTER 229 !$OMP BARRIER 230 rugos=rugos_omp 211 231 zmasq(:)=pctsrf(:,is_oce) 212 232 -
LMDZ5/trunk/libf/phylmd/phytrac.F90
r1742 r1759 203 203 INTEGER :: itau_w ! pas de temps ecriture = nstep + itau_phy 204 204 LOGICAL,PARAMETER :: ok_sync=.TRUE. 205 CHARACTER(len=20) :: chtratimestep206 205 CHARACTER(len=20),save :: chtratimestep,chtratimestep_omp 206 !$OMP THREADPRIVATE(chtratimestep) 207 207 ! 208 208 ! Nature du traceur … … 264 264 CHARACTER(len=8),DIMENSION(nbtr) :: solsym 265 265 !RomP >>> 266 INTEGER,SAVE :: iflag_lscav 267 LOGICAL,SAVE :: convscav 266 INTEGER,SAVE :: iflag_lscav_omp,iflag_lscav 267 LOGICAL,SAVE :: convscav_omp,convscav 268 268 !$OMP THREADPRIVATE(iflag_lscav,convscav) 269 269 !RomP <<< … … 309 309 IF (debutphy) THEN 310 310 !!jyg 311 chtratimestep='DefFreq' 312 CALL getin('tra_time_step',chtratimestep) 311 !$OMP MASTER 312 chtratimestep_omp='DefFreq' 313 CALL getin('tra_time_step',chtratimestep_omp) 314 !$OMP END MASTER 315 !$OMP BARRIER 316 chtratimestep=chtratimestep_omp 313 317 IF (chtratimestep .NE. 'DefFreq') THEN 314 318 call convers_timesteps(chtratimestep,pdtphys,ecrit_tra) … … 321 325 !Config Help = 322 326 ! 323 convscav=.false. 324 call getin('convscav', convscav) 327 !$OMP MASTER 328 convscav_omp=.false. 329 call getin('convscav', convscav_omp) 330 !$OMP END MASTER 331 !$OMP BARRIER 332 convscav=convscav_omp 325 333 print*,'phytrac passage dans routine conv avec lessivage', convscav 326 334 ! … … 331 339 !Config Help = 332 340 ! 333 iflag_lscav=1 334 call getin('iflag_lscav', iflag_lscav) 341 !$OMP MASTER 342 iflag_lscav_omp=1 343 call getin('iflag_lscav', iflag_lscav_omp) 344 !$OMP END MASTER 345 !$OMP BARRIER 346 iflag_lscav=iflag_lscav_omp 335 347 ! 336 348 SELECT CASE(iflag_lscav) … … 371 383 INCLUDE "ini_histrac.h" 372 384 #endif 373 END IF 385 END IF ! of IF (debutphy) 374 386 !############################################ END INITIALIZATION ####### 375 387
Note: See TracChangeset
for help on using the changeset viewer.