Changeset 3461 for LMDZ6/trunk/libf
- Timestamp:
- Feb 1, 2019, 8:29:43 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r3460 r3461 335 335 LOGICAL ok_gust ! pour activer l'effet des gust sur flux surface 336 336 PARAMETER (ok_gust=.FALSE.) 337 integeriflag_radia ! active ou non le rayonnement (MPL)338 saveiflag_radia337 INTEGER iflag_radia ! active ou non le rayonnement (MPL) 338 SAVE iflag_radia 339 339 !$OMP THREADPRIVATE(iflag_radia) 340 340 !====================================================================== … … 371 371 !====================================================================== 372 372 LOGICAL ok_journe ! sortir le fichier journalier 373 saveok_journe373 SAVE ok_journe 374 374 !$OMP THREADPRIVATE(ok_journe) 375 375 ! 376 376 LOGICAL ok_mensuel ! sortir le fichier mensuel 377 saveok_mensuel377 SAVE ok_mensuel 378 378 !$OMP THREADPRIVATE(ok_mensuel) 379 379 ! 380 380 LOGICAL ok_instan ! sortir le fichier instantane 381 saveok_instan381 SAVE ok_instan 382 382 !$OMP THREADPRIVATE(ok_instan) 383 383 ! 384 384 LOGICAL ok_LES ! sortir le fichier LES 385 saveok_LES385 SAVE ok_LES 386 386 !$OMP THREADPRIVATE(ok_LES) 387 387 ! 388 388 LOGICAL callstats ! sortir le fichier stats 389 savecallstats389 SAVE callstats 390 390 !$OMP THREADPRIVATE(callstats) 391 391 ! … … 393 393 PARAMETER (ok_region=.FALSE.) 394 394 !====================================================================== 395 realseuil_inversion396 saveseuil_inversion395 REAL seuil_inversion 396 SAVE seuil_inversion 397 397 !$OMP THREADPRIVATE(seuil_inversion) 398 integeriflag_ratqs399 saveiflag_ratqs398 INTEGER iflag_ratqs 399 SAVE iflag_ratqs 400 400 !$OMP THREADPRIVATE(iflag_ratqs) 401 401 real facteur … … 404 404 REAL tau_overturning_th(klon) 405 405 406 integerlmax_th(klon)407 integerlimbas(klon)408 realratqscth(klon,klev)409 realratqsdiff(klon,klev)410 realzqsatth(klon,klev)406 INTEGER lmax_th(klon) 407 INTEGER limbas(klon) 408 REAL ratqscth(klon,klev) 409 REAL ratqsdiff(klon,klev) 410 REAL zqsatth(klon,klev) 411 411 412 412 !====================================================================== … … 505 505 CHARACTER*3 region 506 506 PARAMETER(region='3d') 507 logicalok_hf508 ! 509 saveok_hf507 LOGICAL ok_hf 508 ! 509 SAVE ok_hf 510 510 !$OMP THREADPRIVATE(ok_hf) 511 511 512 INTEGER, PARAMETER :: longcles=20513 REAL, SAVE :: clesphy0(longcles)512 INTEGER, PARAMETER :: longcles=20 513 REAL, SAVE :: clesphy0(longcles) 514 514 !$OMP THREADPRIVATE(clesphy0) 515 515 ! 516 516 ! Variables propres a la physique 517 INTEGER itap 518 SAVE itap ! compteur pour la physique 517 INTEGER, SAVE :: itap ! compteur pour la physique 519 518 !$OMP THREADPRIVATE(itap) 520 519 … … 522 521 !$OMP THREADPRIVATE(abortphy) 523 522 ! 524 REAL, save:: solarlong0523 REAL,SAVE :: solarlong0 525 524 !$OMP THREADPRIVATE(solarlong0) 526 525 … … 539 538 ! Variables liees a la convection de K. Emanuel (sb): 540 539 ! 541 REAL bas, top ! cloud base and top levels 542 SAVE bas 543 SAVE top 540 REAL, SAVE :: bas, top ! cloud base and top levels 544 541 !$OMP THREADPRIVATE(bas, top) 545 542 !------------------------------------------------------------------ … … 576 573 !! REAL, DIMENSION(klon,klev) :: dql_sat 577 574 578 real, save :: alp_bl_prescr=0. 579 real, save :: ale_bl_prescr=0. 580 581 real, save :: wake_s_min_lsp=0.1 582 575 REAL, SAVE :: alp_bl_prescr=0. 576 REAL, SAVE :: ale_bl_prescr=0. 577 REAL, SAVE :: wake_s_min_lsp=0.1 583 578 !$OMP THREADPRIVATE(alp_bl_prescr,ale_bl_prescr) 584 579 !$OMP THREADPRIVATE(wake_s_min_lsp) 585 580 586 587 real ok_wk_lsp(klon) 581 REAL ok_wk_lsp(klon) 588 582 589 583 !RC … … 735 729 REAL :: jD_eq 736 730 737 LOGICAL, parameter :: new_orbit = . true.731 LOGICAL, parameter :: new_orbit = .TRUE. 738 732 739 733 ! … … 921 915 INTEGER kcbot(klon), kctop(klon), kdtop(klon) 922 916 ! 923 realratqsbas,ratqshaut,tau_ratqs924 saveratqsbas,ratqshaut,tau_ratqs917 REAL ratqsbas,ratqshaut,tau_ratqs 918 SAVE ratqsbas,ratqshaut,tau_ratqs 925 919 !$OMP THREADPRIVATE(ratqsbas,ratqshaut,tau_ratqs) 926 920 REAL, SAVE :: ratqsp0=50000., ratqsdp=20000. … … 928 922 929 923 ! Parametres lies au nouveau schema de nuages (SB, PDF) 930 realfact_cldcon931 realfacttemps932 logical ok_newmicro933 saveok_newmicro924 REAL, SAVE :: fact_cldcon 925 REAL, SAVE :: facttemps 926 !$OMP THREADPRIVATE(fact_cldcon,facttemps) 927 LOGICAL, SAVE :: ok_newmicro 934 928 !$OMP THREADPRIVATE(ok_newmicro) 935 !real ref_liq_pi(klon,klev), ref_ice_pi(klon,klev) 936 save fact_cldcon,facttemps 937 !$OMP THREADPRIVATE(fact_cldcon,facttemps) 938 939 integer iflag_cld_th 940 save iflag_cld_th 929 930 INTEGER, SAVE :: iflag_cld_th 941 931 !$OMP THREADPRIVATE(iflag_cld_th) 942 932 !IM logical ptconv(klon,klev) !passe dans phys_local_var_mod 943 933 !IM cf. AM 081204 BEG 944 logicalptconvth(klon,klev)934 LOGICAL ptconvth(klon,klev) 945 935 !IM cf. AM 081204 END 946 936 ! … … 949 939 !====================================================================== 950 940 ! 951 952 941 ! 953 942 !JLD integer itau_w ! pas de temps ecriture = itap + itau_phy … … 1015 1004 !JLD REAL zstophy, zout 1016 1005 1017 character*20 modname1018 character*80 abort_message1019 logical, save:: ok_sync, ok_sync_omp1006 CHARACTER*20 modname 1007 CHARACTER*80 abort_message 1008 LOGICAL, SAVE :: ok_sync, ok_sync_omp 1020 1009 !$OMP THREADPRIVATE(ok_sync) 1021 realdate01010 REAL date0 1022 1011 1023 1012 ! essai writephys 1024 integer fid_day, fid_mth, fid_ins 1025 parameter (fid_ins = 1, fid_day = 2, fid_mth = 3) 1026 integer prof2d_on, prof3d_on, prof2d_av, prof3d_av 1027 parameter (prof2d_on = 1, prof3d_on = 2, & 1028 prof2d_av = 3, prof3d_av = 4) 1013 INTEGER fid_day, fid_mth, fid_ins 1014 PARAMETER (fid_ins = 1, fid_day = 2, fid_mth = 3) 1015 INTEGER prof2d_on, prof3d_on, prof2d_av, prof3d_av 1016 PARAMETER (prof2d_on = 1, prof3d_on = 2, prof2d_av = 3, prof3d_av = 4) 1029 1017 REAL ztsol(klon) 1030 1018 REAL q2m(klon,nbsrf) ! humidite a 2m … … 1078 1066 ! Declaration des constantes et des fonctions thermodynamiques 1079 1067 ! 1080 LOGICAL,SAVE :: first=. true.1068 LOGICAL,SAVE :: first=.TRUE. 1081 1069 !$OMP THREADPRIVATE(first) 1082 1070 … … 1172 1160 REAL zzz 1173 1161 !albedo SB >>> 1174 real,dimension(6),save:: SFRWL1162 REAL,DIMENSION(6), SAVE :: SFRWL 1175 1163 !$OMP THREADPRIVATE(SFRWL) 1176 1164 !albedo SB <<< 1177 1165 1178 1166 !--OB variables for mass fixer (hard coded for now) 1179 logical, parameter :: mass_fixer=.false.1180 realqql1(klon),qql2(klon),corrqql1167 LOGICAL, PARAMETER :: mass_fixer=.FALSE. 1168 REAL qql1(klon),qql2(klon),corrqql 1181 1169 1182 1170 REAL pi … … 1224 1212 1225 1213 ! Quick check on pressure levels: 1226 callassert(paprs(:, nbp_lev + 1) < paprs(:, nbp_lev), &1214 CALL assert(paprs(:, nbp_lev + 1) < paprs(:, nbp_lev), & 1227 1215 "physiq_mod paprs bad order") 1228 1216 … … 1232 1220 !CR:nvelles variables convection/poches froides 1233 1221 1234 print*, '=================================================' 1235 print*, 'Allocation des variables locales et sauvegardees' 1222 WRITE(lunout,*) '=================================================' 1223 WRITE(lunout,*) 'Allocation des variables locales et sauvegardees' 1224 WRITE(lunout,*) '=================================================' 1236 1225 CALL phys_local_var_init 1237 1226 ! … … 1274 1263 1275 1264 itau_con=0 1276 first=. false.1265 first=.FALSE. 1277 1266 1278 1267 ENDIF ! first … … 1303 1292 ! secondes 1304 1293 tau_gl=86400.*tau_gl 1305 print*,'debut physiq_mod tau_gl=',tau_gl 1294 WRITE(lunout,*) 'debut physiq_mod tau_gl=',tau_gl 1295 1306 1296 CALL getin_p('iflag_alp_wk_cond', iflag_alp_wk_cond) 1307 1297 CALL getin_p('random_notrig_max',random_notrig_max) … … 1334 1324 CALL getin_p('NVM',nvm_lmdz) 1335 1325 1326 WRITE(lunout,*) 'iflag_alp_wk_cond=', iflag_alp_wk_cond 1327 WRITE(lunout,*) 'random_ntrig_max=', random_notrig_max 1328 WRITE(lunout,*) 'ok_adjwk=', ok_adjwk 1329 WRITE(lunout,*) 'iflag_adjwk=', iflag_adjwk 1330 WRITE(lunout,*) 'qtcon_multistep_max=',dtcon_multistep_max 1331 WRITE(lunout,*) 'qdcon_multistep_max=',dqcon_multistep_max 1332 WRITE(lunout,*) 'ratqsp0=', ratqsp0 1333 WRITE(lunout,*) 'ratqsdp=', ratqsdp 1334 WRITE(lunout,*) 'iflag_wake_tend=', iflag_wake_tend 1335 WRITE(lunout,*) 'ok_bad_ecmwf_thermo=',ok_bad_ecmwf_thermo 1336 WRITE(lunout,*) 'ok_bug_cv_trac=', ok_bug_cv_trac 1337 WRITE(lunout,*) 'ok_bug_split_th=', ok_bug_split_th 1338 WRITE(lunout,*) 'fl_ebil=', fl_ebil 1339 WRITE(lunout,*) 'fl_cor_ebil=', fl_cor_ebil 1340 WRITE(lunout,*) 'iflag_phytrac=', iflag_phytrac 1341 WRITE(lunout,*) 'NVM=', nvm_lmdz 1342 1336 1343 !--PC: defining fields to be exchanged between LMDz, ORCHIDEE and NEMO 1337 1344 WRITE(lunout,*) 'Call to infocfields from physiq' … … 1397 1404 ENDIF 1398 1405 1399 1400 1401 1406 rnebcon0(:,:) = 0.0 1402 1407 clwcon0(:,:) = 0.0 … … 1468 1473 abort_message='nbre de pas de temps physique n est pas multiple ' & 1469 1474 // 'de nbapp_cv' 1470 callabort_physic(modname,abort_message,1)1475 CALL abort_physic(modname,abort_message,1) 1471 1476 ENDIF 1472 1477 IF (MOD(NINT(86400./phys_tstep),nbapp_wk).EQ.0) THEN … … 1480 1485 abort_message='nbre de pas de temps physique n est pas multiple ' & 1481 1486 // 'de nbapp_wk' 1482 callabort_physic(modname,abort_message,1)1487 CALL abort_physic(modname,abort_message,1) 1483 1488 ENDIF 1484 1489 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 1536 1541 ! FH : if ok_sync=.true. , the time axis is written at each time step 1537 1542 ! in the output files. Only at the end in the opposite case 1538 ok_sync_omp=. false.1543 ok_sync_omp=.FALSE. 1539 1544 CALL getin('ok_sync',ok_sync_omp) 1540 1545 CALL phys_output_open(longitude_deg,latitude_deg,nCFMIP,tabijGCM, & … … 1884 1889 1885 1890 !albedo SB >>> 1886 select case(nsw)1887 case(2)1891 SELECT CASE(nsw) 1892 CASE(2) 1888 1893 SFRWL(1)=0.45538747 1889 1894 SFRWL(2)=0.54461211 1890 case(4)1895 CASE(4) 1891 1896 SFRWL(1)=0.45538747 1892 1897 SFRWL(2)=0.32870591 1893 1898 SFRWL(3)=0.18568763 1894 1899 SFRWL(4)=3.02191470E-02 1895 case(6)1900 CASE(6) 1896 1901 SFRWL(1)=1.28432794E-03 1897 1902 SFRWL(2)=0.12304168 … … 1900 1905 SFRWL(5)=0.18568763 1901 1906 SFRWL(6)=3.02191470E-02 1902 end select1907 END SELECT 1903 1908 1904 1909 … … 1973 1978 ENDIF 1974 1979 1975 1976 1980 ! Tendances bidons pour les processus qui n'affectent pas certaines 1977 1981 ! variables. … … 2207 2211 ro3i, 'C', press_cen_climoz, pplay, wo, paprs(:,1), & 2208 2212 time_climoz ) 2209 END 2213 ENDIF 2210 2214 ! Convert from mole fraction of ozone to column density of ozone in a 2211 2215 ! cell, in kDU: … … 2227 2231 (du0,dv0,d_t_eva,d_q_eva,d_ql_eva,d_qi_eva,paprs,& 2228 2232 'eva',abortphy,flag_inhib_tend,itap,0) 2229 callprt_enerbil('eva',itap)2233 CALL prt_enerbil('eva',itap) 2230 2234 2231 2235 !========================================================================= … … 2384 2388 ENDIF 2385 2389 2386 2387 2388 2390 CALL pbl_surface( & 2389 2391 phys_tstep, date0, itap, days_elapsed+1, & … … 2455 2457 2456 2458 2457 2458 2459 2460 2459 !--------------------------------------------------------------------- 2461 2460 ! ajout des tendances de la diffusion turbulente … … 2469 2468 'vdf',abortphy,flag_inhib_tend,itap,0) 2470 2469 ENDIF 2471 callprt_enerbil('vdf',itap)2470 CALL prt_enerbil('vdf',itap) 2472 2471 !-------------------------------------------------------------------- 2473 2472 … … 2937 2936 CALL add_phys_tend(d_u_con, d_v_con, d_t_con, d_q_con, dql0, dqi0, paprs, & 2938 2937 'convection',abortphy,flag_inhib_tend,itap,0) 2939 callprt_enerbil('convection',itap)2938 CALL prt_enerbil('convection',itap) 2940 2939 2941 2940 !------------------------------------------------------------------------- … … 3068 3067 CALL add_phys_tend(du0,dv0,d_t_wake,d_q_wake,dql0,dqi0,paprs,'wake', & 3069 3068 abortphy,flag_inhib_tend,itap,0) 3070 callprt_enerbil('wake',itap)3069 CALL prt_enerbil('wake',itap) 3071 3070 !------------------------------------------------------------------------ 3072 3071 … … 3077 3076 (d_deltat_wk, d_deltaq_wk, d_s_wk, d_dens_a_wk, d_dens_wk, wake_k, & 3078 3077 'wake', abortphy) 3079 callprt_enerbil('wake',itap)3078 CALL prt_enerbil('wake',itap) 3080 3079 ENDIF ! (iflag_wake_tend .GT. 0.) 3081 3080 ! … … 3219 3218 (d_deltat_the, d_deltaq_the, dsig0, ddens0, ddens0, wake_k, 'the', abortphy) 3220 3219 ENDIF 3221 callprt_enerbil('the',itap)3220 CALL prt_enerbil('the',itap) 3222 3221 ! 3223 3222 ENDIF ! (mod(iflag_pbl_split/10,10) .GE. 1) … … 3225 3224 CALL add_phys_tend(d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs, & 3226 3225 dql0,dqi0,paprs,'thermals', abortphy,flag_inhib_tend,itap,0) 3227 callprt_enerbil('thermals',itap)3226 CALL prt_enerbil('thermals',itap) 3228 3227 ! 3229 3228 ! … … 3288 3287 CALL add_phys_tend(du0,dv0,d_t_ajsb,d_q_ajsb,dql0,dqi0,paprs, & 3289 3288 'ajsb',abortphy,flag_inhib_tend,itap,0) 3290 callprt_enerbil('ajsb',itap)3289 CALL prt_enerbil('ajsb',itap) 3291 3290 d_t_ajs(:,:)=d_t_ajs(:,:)+d_t_ajsb(:,:) 3292 3291 d_q_ajs(:,:)=d_q_ajs(:,:)+d_q_ajsb(:,:) … … 3339 3338 CALL add_phys_tend(du0,dv0,d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc,paprs, & 3340 3339 'lsc',abortphy,flag_inhib_tend,itap,0) 3341 callprt_enerbil('lsc',itap)3340 CALL prt_enerbil('lsc',itap) 3342 3341 rain_num(:)=0. 3343 3342 DO k = 1, klev … … 4155 4154 4156 4155 CALL add_phys_tend(du0,dv0,d_t_swr,dq0,dql0,dqi0,paprs,'SW',abortphy,flag_inhib_tend,itap,0) 4157 callprt_enerbil('SW',itap)4156 CALL prt_enerbil('SW',itap) 4158 4157 CALL add_phys_tend(du0,dv0,d_t_lwr,dq0,dql0,dqi0,paprs,'LW',abortphy,flag_inhib_tend,itap,0) 4159 callprt_enerbil('LW',itap)4158 CALL prt_enerbil('LW',itap) 4160 4159 4161 4160 ! … … 4228 4227 CALL add_phys_tend(d_u_oro,d_v_oro,d_t_oro,dq0,dql0,dqi0,paprs,'oro', & 4229 4228 abortphy,flag_inhib_tend,itap,0) 4230 callprt_enerbil('oro',itap)4229 CALL prt_enerbil('oro',itap) 4231 4230 !---------------------------------------------------------------------- 4232 4231 ! … … 4275 4274 CALL add_phys_tend(d_u_lif, d_v_lif, d_t_lif, dq0, dql0, dqi0, paprs, & 4276 4275 'lif', abortphy,flag_inhib_tend,itap,0) 4277 callprt_enerbil('lif',itap)4276 CALL prt_enerbil('lif',itap) 4278 4277 ENDIF ! fin de test sur ok_orolf 4279 4278 … … 4299 4298 CALL add_phys_tend(du_gwd_hines, dv_gwd_hines, d_t_hin, dq0, dql0, & 4300 4299 dqi0, paprs, 'hin', abortphy,flag_inhib_tend,itap,0) 4301 callprt_enerbil('hin',itap)4300 CALL prt_enerbil('hin',itap) 4302 4301 ENDIF 4303 4302 … … 4318 4317 CALL add_phys_tend(du_gwd_front, dv_gwd_front, dt0, dq0, dql0, dqi0, & 4319 4318 paprs, 'front_gwd_rando', abortphy,flag_inhib_tend,itap,0) 4320 callprt_enerbil('front_gwd_rando',itap)4319 CALL prt_enerbil('front_gwd_rando',itap) 4321 4320 ENDIF 4322 4321 … … 4327 4326 CALL add_phys_tend(du_gwd_rando, dv_gwd_rando, dt0, dq0, dql0, dqi0, & 4328 4327 paprs, 'flott_gwd_rando', abortphy,flag_inhib_tend,itap,0) 4329 callprt_enerbil('flott_gwd_rando',itap)4328 CALL prt_enerbil('flott_gwd_rando',itap) 4330 4329 zustr_gwd_rando=0. 4331 4330 zvstr_gwd_rando=0. … … 4373 4372 !IM cf. FLott END 4374 4373 !DC Calcul de la tendance due au methane 4375 IF (ok_qch4) THEN4374 IF (ok_qch4) THEN 4376 4375 CALL METHOX(1,klon,klon,klev,q_seri,d_q_ch4,pplay) 4377 4376 ! ajout de la tendance d'humidite due au methane … … 4390 4389 ! Inititialization 4391 4390 !------------------ 4392 4393 4394 4391 4395 4392 addtkeoro=0 … … 4403 4400 alphatkeoro=min(max(0.,alphatkeoro),1.) 4404 4401 4405 smallscales_tkeoro=. false.4402 smallscales_tkeoro=.FALSE. 4406 4403 CALL getin_p('smallscales_tkeoro',smallscales_tkeoro) 4407 4404 4408 4405 4409 dtadd(:,:)=0. 4410 duadd(:,:)=0. 4411 dvadd(:,:)=0. 4412 4413 4406 dtadd(:,:)=0. 4407 duadd(:,:)=0. 4408 dvadd(:,:)=0. 4414 4409 4415 4410 ! Choices for addtkeoro: … … 4426 4421 4427 4422 4428 4429 4423 IF (addtkeoro .EQ. 1 ) THEN 4430 4424 … … 4434 4428 ELSE IF (addtkeoro .EQ. 2) THEN 4435 4429 4436 4437 4438 IF (smallscales_tkeoro) THEN 4430 IF (smallscales_tkeoro) THEN 4439 4431 igwd=0 4440 4432 DO i=1,klon … … 4459 4451 igwd=igwd+1 4460 4452 idx(igwd)=i 4461 ENDIF 4462 ENDDO 4463 4464 END IF 4465 4466 4467 4468 4469 CALL drag_noro_strato(addtkeoro,klon,klev,phys_tstep,paprs,pplay, & 4453 ENDIF 4454 ENDDO 4455 4456 ENDIF 4457 4458 CALL drag_noro_strato(addtkeoro,klon,klev,phys_tstep,paprs,pplay, & 4470 4459 zmea,zstd, zsig, zgam, zthe,zpic,zval, & 4471 4460 igwd,idx,itest, & … … 4474 4463 d_t_oro_gw, d_u_oro_gw, d_v_oro_gw) 4475 4464 4476 zustrdr(:)=0. 4477 zvstrdr(:)=0. 4478 zulow(:)=0. 4479 zvlow(:)=0. 4480 4481 duadd(:,:)=alphatkeoro*d_u_oro_gw(:,:) 4482 dvadd(:,:)=alphatkeoro*d_v_oro_gw(:,:) 4483 END IF 4484 4465 zustrdr(:)=0. 4466 zvstrdr(:)=0. 4467 zulow(:)=0. 4468 zvlow(:)=0. 4469 4470 duadd(:,:)=alphatkeoro*d_u_oro_gw(:,:) 4471 dvadd(:,:)=alphatkeoro*d_v_oro_gw(:,:) 4472 ENDIF 4485 4473 4486 4474 … … 4493 4481 4494 4482 4495 4496 4483 ENDIF 4497 4484 ! ----- 4498 4485 !=============================================================== 4499 4500 4486 4501 4487 … … 4967 4953 4968 4954 ! On remet des variables a .false. apres un premier appel 4969 if (debut) then4955 IF (debut) THEN 4970 4956 #ifdef CPP_XIOS 4971 4957 swaero_diag=.FALSE. … … 4975 4961 ! write (lunout,*)'ok_4xCO2atm= ',swaero_diag, swaerofree_diag, dryaod_diag, ok_4xCO2atm 4976 4962 4977 IF (is_master) then4963 IF (is_master) THEN 4978 4964 !--setting up swaero_diag to TRUE in XIOS case 4979 4965 IF (xios_field_is_active("topswad").OR.xios_field_is_active("topswad0").OR. & … … 5006 4992 xios_field_is_active("rld4co2").OR.xios_field_is_active("rldcs4co2")) & 5007 4993 ok_4xCO2atm=.TRUE. 5008 endif4994 ENDIF 5009 4995 !$OMP BARRIER 5010 callbcast(swaero_diag)5011 callbcast(swaerofree_diag)5012 callbcast(dryaod_diag)5013 callbcast(ok_4xCO2atm)4996 CALL bcast(swaero_diag) 4997 CALL bcast(swaerofree_diag) 4998 CALL bcast(dryaod_diag) 4999 CALL bcast(ok_4xCO2atm) 5014 5000 ! write (lunout,*)'ok_4xCO2atm= ',swaero_diag, swaerofree_diag, dryaod_diag, ok_4xCO2atm 5015 5001 #endif 5016 endif5002 ENDIF 5017 5003 5018 5004 !==================================================================== … … 5052 5038 IF (is_omp_master) CALL xios_context_finalize 5053 5039 #endif 5054 print *,' physiq fin, nombre de steps ou cvpas = 1 : ', Ncvpaseq15040 WRITE(lunout,*) ' physiq fin, nombre de steps ou cvpas = 1 : ', Ncvpaseq1 5055 5041 ENDIF 5056 5042 5057 5043 ! first=.false. 5058 5044 5059 5060 5045 END SUBROUTINE physiq 5061 5046
Note: See TracChangeset
for help on using the changeset viewer.