Changeset 3233 for LMDZ6/trunk/libf
- Timestamp:
- Feb 28, 2018, 3:54:30 PM (7 years ago)
- Location:
- LMDZ6/trunk/libf/phylmd/cosp
- Files:
-
- 2 edited
- 16 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/cosp/phys_cosp.F90
r3172 r3233 142 142 !$OMP THREADPRIVATE(first_write) 143 143 144 logical, save :: ok_readxiosactive_cosp=.false. 145 !$OMP THREADPRIVATE(ok_readxiosactive_cosp) 144 146 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Input variables from LMDZ-GCM 145 147 integer :: overlaplmdz ! overlap type: 1=max, 2=rand, 3=max/rand ! cosp input (output lmdz) … … 153 155 real :: dtime,freq_cosp 154 156 real,dimension(2) :: time_bnds 157 158 double precision :: d_dtime 159 double precision,dimension(2) :: d_time_bnds 155 160 156 161 namelist/COSP_INPUT/overlap,isccp_topheight,isccp_topheight_direction, & … … 192 197 !!! Ici on modifie les cles logiques selon les champs actives dans les .xml 193 198 #ifdef CPP_XIOS 199 if (ok_readxiosactive_cosp) then 194 200 if ((itap.gt.1).and.(first_write))then 195 ! call read_xiosfieldactive(cfg)196 201 call read_cosp_output_nl(itap,cosp_output_nl,cfg) 197 ! print*,' Dans cosp_write itap first_writ LcfadLidarsr532 =', &198 ! itap, first_write, cfg%LcfadLidarsr532199 202 first_write=.false. 200 203 endif 201 ! print*,' Dans cosp_write itap LcfadLidarsr532 =', & 202 ! itap, cfg%LcfadLidarsr532 204 endif 203 205 #endif 204 206 … … 206 208 time_bnds(1) = dtime-dtime/2. 207 209 time_bnds(2) = dtime+dtime/2. 210 211 d_time_bnds=time_bnds 212 d_dtime=dtime 213 208 214 209 215 ! print*,'Debut phys_cosp itap,dtime,freq_cosp,ecrit_mth,ecrit_day,ecrit_hf ', & … … 225 231 emsfc_lw = 1. 226 232 227 call construct_cosp_gridbox(d time,time_bnds,radar_freq,surface_radar,use_mie_tables,use_gas_abs, &233 call construct_cosp_gridbox(d_dtime,d_time_bnds,radar_freq,surface_radar,use_mie_tables,use_gas_abs, & 228 234 do_ray,melt_lay,k2, & 229 235 Npoints,Nlevels,Ncolumns,N_HYDRO,Nprmts_max_hydro,Naero,Nprmts_max_aero,Npoints_it, & … … 441 447 END SUBROUTINE read_cosp_input 442 448 443 SUBROUTINE read_xiosfieldactive(cfg)444 445 USE MOD_COSP_TYPES446 #ifdef CPP_XIOS447 USE xios, ONLY: xios_field_is_active448 #endif449 type(cosp_config),intent(out) :: cfg450 451 ! VEREFIER LES CHAMPS DEMANDES DANS .XML452 ! 2. Si champs active dans .xml alors mettre la cles de sortie en true453 IF (xios_field_is_active("cllcalipso")) cfg%Lcllcalipso=.TRUE.454 IF (xios_field_is_active("clmcalipso")) cfg%Lclmcalipso=.TRUE.455 IF (xios_field_is_active("clhcalipso")) cfg%Lclhcalipso=.TRUE.456 IF (xios_field_is_active("cltcalipso")) cfg%Lcltcalipso=.TRUE.457 ! IF (xios_field_is_active("pcllcalipso")) cfg%Lcllcalipso=.TRUE.458 ! IF (xios_field_is_active("pclmcalipso")) cfg%Lclmcalipso=.TRUE.459 ! IF (xios_field_is_active("pclhcalipso")) cfg%Lclhcalipso=.TRUE.460 ! IF (xios_field_is_active("pcltcalipso")) cfg%Lcltcalipso=.TRUE.461 IF (xios_field_is_active("cllcalipsoice")) cfg%Lcllcalipsoice=.TRUE.462 IF (xios_field_is_active("clmcalipsoice")) cfg%Lclmcalipsoice=.TRUE.463 IF (xios_field_is_active("clhcalipsoice")) cfg%Lclhcalipsoice=.TRUE.464 IF (xios_field_is_active("cltcalipsoice")) cfg%Lcltcalipsoice=.TRUE.465 IF (xios_field_is_active("cllcalipsoliq")) cfg%Lcllcalipsoliq=.TRUE.466 IF (xios_field_is_active("clmcalipsoliq")) cfg%Lclmcalipsoliq=.TRUE.467 IF (xios_field_is_active("clhcalipsoliq")) cfg%Lclhcalipsoliq=.TRUE.468 IF (xios_field_is_active("cltcalipsoliq")) cfg%Lcltcalipsoliq=.TRUE.469 IF (xios_field_is_active("cllcalipsoun")) cfg%Lcllcalipsoun=.TRUE.470 IF (xios_field_is_active("clmcalipsoun")) cfg%Lclmcalipsoun=.TRUE.471 IF (xios_field_is_active("clhcalipsoun")) cfg%Lclhcalipsoun=.TRUE.472 IF (xios_field_is_active("cltcalipsoun")) cfg%Lcltcalipsoun=.TRUE.473 IF (xios_field_is_active("clcalipso")) cfg%Lclcalipso=.TRUE.474 ! IF (xios_field_is_active("pclcalipso")) cfg%Lclcalipso=.TRUE.475 IF (xios_field_is_active("clcalipsoice")) cfg%Lclcalipsoice=.TRUE.476 IF (xios_field_is_active("clcalipsoliq")) cfg%Lclcalipsoliq=.TRUE.477 IF (xios_field_is_active("clcalipsoun")) cfg%Lclcalipsoun=.TRUE.478 IF (xios_field_is_active("clcalipsotmp")) cfg%Lclcalipsotmp=.TRUE.479 IF (xios_field_is_active("clcalipsotmpice")) cfg%Lclcalipsotmpice=.TRUE.480 IF (xios_field_is_active("clcalipsotmpliq")) cfg%Lclcalipsotmpliq=.TRUE.481 IF (xios_field_is_active("clcalipsotmpun")) cfg%Lclcalipsotmpun=.TRUE.482 IF (xios_field_is_active("parasol_refl")) cfg%LparasolRefl=.TRUE.483 IF (xios_field_is_active("parasol_crefl")) cfg%LparasolRefl=.TRUE.484 IF (xios_field_is_active("Ncrefl")) cfg%LparasolRefl=.TRUE.485 IF (xios_field_is_active("cfad_lidarsr532")) cfg%LcfadLidarsr532=.TRUE.486 IF (xios_field_is_active("atb532")) cfg%Latb532=.TRUE.487 IF (xios_field_is_active("beta_mol532")) cfg%LlidarBetaMol532=.TRUE.488 IF (xios_field_is_active("clopaquecalipso")) cfg%Lclopaquecalipso=.TRUE.489 IF (xios_field_is_active("clthincalipso")) cfg%Lclthincalipso=.TRUE.490 IF (xios_field_is_active("clzopaquecalipso")) cfg%Lclzopaquecalipso=.TRUE.491 IF (xios_field_is_active("clcalipsoopaque")) cfg%Lclcalipsoopaque=.TRUE.492 IF (xios_field_is_active("clcalipsothin")) cfg%Lclcalipsothin=.TRUE.493 IF (xios_field_is_active("clcalipsozopaque")) cfg%Lclcalipsozopaque=.TRUE.494 IF (xios_field_is_active("clcalipsoopacity")) cfg%Lclcalipsoopacity=.TRUE.495 IF (xios_field_is_active("proftemp")) cfg%Lproftemp=.TRUE.496 IF (xios_field_is_active("profSR")) cfg%LprofSR=.TRUE.497 498 IF (xios_field_is_active("cfadDbze94")) cfg%LcfadDbze94=.TRUE.499 IF (xios_field_is_active("dbze94")) cfg%Ldbze94=.TRUE.500 IF (xios_field_is_active("cltlidarradar")) cfg%Lcltlidarradar=.TRUE.501 IF (xios_field_is_active("clcalipso2")) cfg%Lclcalipso2=.TRUE.502 503 IF (xios_field_is_active("clisccp2")) cfg%Lclisccp=.TRUE.504 IF (xios_field_is_active("boxtauisccp")) cfg%Lboxtauisccp=.TRUE.505 IF (xios_field_is_active("boxptopisccp")) cfg%Lboxptopisccp=.TRUE.506 IF (xios_field_is_active("tclisccp")) cfg%Lcltisccp=.TRUE.507 IF (xios_field_is_active("ctpisccp")) cfg%Lpctisccp=.TRUE.508 IF (xios_field_is_active("tauisccp")) cfg%Ltauisccp=.TRUE.509 IF (xios_field_is_active("albisccp")) cfg%Lalbisccp=.TRUE.510 IF (xios_field_is_active("meantbisccp")) cfg%Lmeantbisccp=.TRUE.511 IF (xios_field_is_active("meantbclrisccp")) cfg%Lmeantbclrisccp=.TRUE.512 513 IF (xios_field_is_active("clMISR")) cfg%LclMISR=.TRUE.514 515 IF (xios_field_is_active("cllmodis")) cfg%Lcllmodis=.TRUE.516 IF (xios_field_is_active("clmmodis")) cfg%Lclmmodis=.TRUE.517 IF (xios_field_is_active("clhmodis")) cfg%Lclhmodis=.TRUE.518 IF (xios_field_is_active("cltmodis")) cfg%Lcltmodis=.TRUE.519 IF (xios_field_is_active("clwmodis")) cfg%Lclwmodis=.TRUE.520 IF (xios_field_is_active("climodis")) cfg%Lclimodis=.TRUE.521 IF (xios_field_is_active("tautmodis")) cfg%Ltautmodis=.TRUE.522 IF (xios_field_is_active("tauwmodis")) cfg%Ltauwmodis=.TRUE.523 IF (xios_field_is_active("tauimodis")) cfg%Ltauimodis=.TRUE.524 IF (xios_field_is_active("tautlogmodis")) cfg%Ltautlogmodis=.TRUE.525 IF (xios_field_is_active("tauilogmodis")) cfg%Ltauilogmodis=.TRUE.526 IF (xios_field_is_active("tauwlogmodis")) cfg%Ltauwlogmodis=.TRUE.527 IF (xios_field_is_active("reffclwmodis")) cfg%Lreffclwmodis=.TRUE.528 IF (xios_field_is_active("reffclimodis")) cfg%Lreffclimodis=.TRUE.529 IF (xios_field_is_active("pctmodis")) cfg%Lpctmodis=.TRUE.530 IF (xios_field_is_active("lwpmodis")) cfg%Llwpmodis=.TRUE.531 IF (xios_field_is_active("iwpmodis")) cfg%Liwpmodis=.TRUE.532 IF (xios_field_is_active("clmodis")) cfg%Lclmodis=.TRUE.533 IF (xios_field_is_active("crimodis")) cfg%Lcrimodis=.TRUE.534 IF (xios_field_is_active("crlmodis")) cfg%Lcrlmodis=.TRUE.535 536 ! 2. si champs demande alors activer le simulateur correspondant537 IF (xios_field_is_active("cllcalipso").OR. &538 xios_field_is_active("clmcalipso").OR. &539 xios_field_is_active("clhcalipso").OR. &540 xios_field_is_active("cltcalipso").OR. &541 ! xios_field_is_active("pcllcalipso").OR. &542 ! xios_field_is_active("pclmcalipso").OR. &543 ! xios_field_is_active("pclhcalipso").OR. &544 ! xios_field_is_active("pcltcalipso").OR. &545 xios_field_is_active("cllcalipsoice").OR. &546 xios_field_is_active("clmcalipsoice").OR. &547 xios_field_is_active("clhcalipsoice").OR. &548 xios_field_is_active("cltcalipsoice").OR. &549 xios_field_is_active("cllcalipsoliq").OR. &550 xios_field_is_active("clmcalipsoliq").OR. &551 xios_field_is_active("clhcalipsoliq").OR. &552 xios_field_is_active("cltcalipsoliq").OR. &553 xios_field_is_active("cllcalipsoun").OR. &554 xios_field_is_active("clmcalipsoun").OR. &555 xios_field_is_active("clhcalipsoun").OR. &556 xios_field_is_active("cltcalipsoun").OR. &557 xios_field_is_active("clcalipso").OR. &558 ! xios_field_is_active("pclcalipso").OR. &559 xios_field_is_active("clcalipsoice").OR. &560 xios_field_is_active("clcalipsoliq").OR. &561 xios_field_is_active("clcalipsoun").OR. &562 xios_field_is_active("clcalipsotmp").OR. &563 xios_field_is_active("clcalipsotmpice").OR. &564 xios_field_is_active("clcalipsotmpliq").OR. &565 xios_field_is_active("clcalipsotmpun").OR. &566 xios_field_is_active("parasol_refl").OR. &567 xios_field_is_active("parasol_crefl").OR. &568 xios_field_is_active("Ncrefl").OR. &569 xios_field_is_active("cfad_lidarsr532").OR. &570 xios_field_is_active("atb532").OR. &571 xios_field_is_active("beta_mol532").OR. &572 xios_field_is_active("clopaquecalipso").OR. &573 xios_field_is_active("clthincalipso").OR. &574 xios_field_is_active("clzopaquecalipso").OR. &575 xios_field_is_active("clcalipsoopaque").OR. &576 xios_field_is_active("clcalipsothin").OR. &577 xios_field_is_active("clcalipsozopaque").OR. &578 xios_field_is_active("clcalipsoopacity").OR. &579 xios_field_is_active("proftemp").OR. &580 xios_field_is_active("profSR")) cfg%Llidar_sim=.TRUE.581 582 IF (xios_field_is_active("cfadDbze94").OR. &583 xios_field_is_active("dbze94")) &584 cfg%Lradar_sim=.TRUE.585 586 IF (xios_field_is_active("cltlidarradar").OR. &587 xios_field_is_active("clcalipso2")) THEN588 cfg%Lradar_sim=.TRUE.589 cfg%Llidar_sim=.TRUE.590 ENDIF591 592 IF (xios_field_is_active("clisccp2").OR. &593 xios_field_is_active("boxtauisccp").OR. &594 xios_field_is_active("boxptopisccp").OR. &595 xios_field_is_active("tclisccp").OR. &596 xios_field_is_active("ctpisccp").OR. &597 xios_field_is_active("tauisccp").OR. &598 xios_field_is_active("albisccp").OR. &599 xios_field_is_active("meantbisccp").OR. &600 xios_field_is_active("meantbclrisccp")) cfg%Lisccp_sim=.TRUE.601 602 IF (xios_field_is_active("clMISR")) cfg%Lmisr_sim=.TRUE.603 604 IF (xios_field_is_active("cllmodis").OR. &605 xios_field_is_active("clmmodis").OR. &606 xios_field_is_active("clhmodis").OR. &607 xios_field_is_active("cltmodis").OR. &608 xios_field_is_active("clwmodis").OR. &609 xios_field_is_active("climodis").OR. &610 xios_field_is_active("tautmodis").OR. &611 xios_field_is_active("tauwmodis").OR. &612 xios_field_is_active("tauimodis").OR. &613 xios_field_is_active("tautlogmodis").OR. &614 xios_field_is_active("tauilogmodis").OR. &615 xios_field_is_active("tauwlogmodis").OR. &616 xios_field_is_active("reffclwmodis").OR. &617 xios_field_is_active("reffclimodis").OR. &618 xios_field_is_active("pctmodis").OR. &619 xios_field_is_active("lwpmodis").OR. &620 xios_field_is_active("iwpmodis").OR. &621 xios_field_is_active("clmodis").OR. &622 xios_field_is_active("crimodis").OR. &623 xios_field_is_active("crlmodis")) cfg%Lmodis_sim=.TRUE.624 END SUBROUTINE read_xiosfieldactive625 626 627 449 end subroutine phys_cosp -
LMDZ6/trunk/libf/phylmd/cosp/read_cosp_output_nl.F90
r3172 r3233 127 127 CALL bcast(Lmeantbisccp) 128 128 CALL bcast(Lmeantbclrisccp) 129 CALL bcast(Lfrac _out)129 CALL bcast(Lfracout) 130 130 CALL bcast(LlidarBetaMol532) 131 131 CALL bcast(Lcltmodis) … … 239 239 if ((.not.Lradar_sim).and.(.not.Llidar_sim).and. & 240 240 (.not.Lisccp_sim).and.(.not.Lmisr_sim)) then 241 Lfrac _out = .false.241 Lfracout = .false. 242 242 endif 243 243 if (.not.Lmodis_sim) then … … 533 533 cfg%Lcrlmodis=Lcrlmodis 534 534 535 if (itap.gt.1) then 535 #ifdef CPP_XIOS 536 if (itap.gt.1) then 536 537 537 538 ! VEREFIER LES CHAMPS DEMANDES DANS .XML … … 709 710 xios_field_is_active("crlmodis")) cfg%Lmodis_sim=.TRUE. 710 711 711 712 712 endif 713 #endif 713 714 714 715 END SUBROUTINE READ_COSP_OUTPUT_NL
Note: See TracChangeset
for help on using the changeset viewer.