- Timestamp:
- Feb 1, 2018, 12:26:50 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/IPSLCM6.0.15/libf/phylmd/cosp/phys_cosp.F90
r2835 r3173 84 84 use cosp_output_write_mod 85 85 ! use MOD_COSP_Modis_Simulator, only : cosp_modis 86 #ifdef CPP_XIOS 87 USE xios, ONLY: xios_field_is_active 88 #endif 86 89 87 90 IMPLICIT NONE … … 136 139 !$OMP THREADPRIVATE(debut_cosp) 137 140 141 logical, save :: first_write=.true. 142 !$OMP THREADPRIVATE(first_write) 143 138 144 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Input variables from LMDZ-GCM 139 145 integer :: overlaplmdz ! overlap type: 1=max, 2=rand, 3=max/rand ! cosp input (output lmdz) … … 171 177 172 178 ! Clefs Outputs 173 call read_cosp_output_nl( cosp_output_nl,cfg)179 call read_cosp_output_nl(itap,cosp_output_nl,cfg) 174 180 175 181 if (overlaplmdz.ne.overlap) then … … 178 184 print*,'Fin lecture Namelists, debut_cosp =',debut_cosp 179 185 180 print*,' Cles des differents simulateurs cosp :'186 print*,' Cles des differents simulateurs cosp 1er appel Cosp :' 181 187 print*,'Lradar_sim,Llidar_sim,Lisccp_sim,Lmisr_sim,Lmodis_sim,Lrttov_sim', & 182 188 cfg%Lradar_sim,cfg%Llidar_sim,cfg%Lisccp_sim,cfg%Lmisr_sim,cfg%Lmodis_sim,cfg%Lrttov_sim 183 189 184 190 endif ! debut_cosp 191 192 !!! Ici on modifie les cles logiques selon les champs actives dans les .xml 193 #ifdef CPP_XIOS 194 if ((itap.gt.1).and.(first_write))then 195 ! call read_xiosfieldactive(cfg) 196 call read_cosp_output_nl(itap,cosp_output_nl,cfg) 197 ! print*,' Dans cosp_write itap first_writ LcfadLidarsr532 =', & 198 ! itap, first_write, cfg%LcfadLidarsr532 199 first_write=.false. 200 endif 201 ! print*,' Dans cosp_write itap LcfadLidarsr532 =', & 202 ! itap, cfg%LcfadLidarsr532 203 #endif 204 185 205 186 206 time_bnds(1) = dtime-dtime/2. … … 421 441 END SUBROUTINE read_cosp_input 422 442 443 SUBROUTINE read_xiosfieldactive(cfg) 444 445 USE MOD_COSP_TYPES 446 #ifdef CPP_XIOS 447 USE xios, ONLY: xios_field_is_active 448 #endif 449 type(cosp_config),intent(out) :: cfg 450 451 ! VEREFIER LES CHAMPS DEMANDES DANS .XML 452 ! 2. Si champs active dans .xml alors mettre la cles de sortie en true 453 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 correspondant 537 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")) THEN 588 cfg%Lradar_sim=.TRUE. 589 cfg%Llidar_sim=.TRUE. 590 ENDIF 591 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_xiosfieldactive 625 626 423 627 end subroutine phys_cosp
Note: See TracChangeset
for help on using the changeset viewer.